На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

WM_DDE_EXECUTE



A DDE client application posts a WM_DDE_EXECUTE message to a DDE server application to send a string to the server to be processed as a series of commands. The server application is expected to post a WM_DDE_ACK message in response.

WM_DDE_EXECUTE
wParam = (WPARAM) hwnd; // handle of posting application
lParam = (LPARAM) hCommands; // handle to global object


Parameters

hwnd

Value of wParam. Identifies the client window posting the message.

hCommands

Value of lParam. Contains a global memory object that references an ANSI or Unicode command string, depending on the types of windows involved in the conversation.



Remarks

The command string is a null-terminated string consisting of one or more opcode strings enclosed in single brackets ([ ]).
Each opcode string has the following syntax, where the parameters list is optional:
opcode parameters
The opcode is any application-defined single token. It cannot include spaces, commas, parentheses, brackets, or quotation marks.
The parameters list can contain any application-defined value or values. Multiple parameters are separated by commas, and the entire parameter list is enclosed in parentheses. Parameters cannot include commas or parentheses except inside a quoted string. If a bracket or parenthesis character is to appear in a quoted string, it need not be doubled, as was the case under the old rules.

Following are some valid command strings:

[connect][download(query1,results.txt)][disconnect]
[query("sales per employee for each district")]
[open("sample.xlm")][run("r1c1")]
[quote_case("This is a "" character")]
[bracket_or_paren_case("()s or []s should be no problem.")]


Note that, under the old rules, parentheses and brackets had to be doubled, as follows:

[bracket_or_paren_case("(())s or [[]]s should be no problem.")]


Servers should be able to parse commands in either form.
Unicode execute strings should be used only when both the client and server window handles cause the IsWindowUnicode function to return TRUE.

Posting

The client application posts the WM_DDE_EXECUTE message by calling the PostMessage function, not the SendMessage function.
The client application allocates hCommands by calling the GlobalAlloc function with the GMEM_DDESHARE option.
When processing the WM_DDE_ACK message that the server posts in reply to a WM_DDE_EXECUTE message, the client application must delete the hCommands object sent back in the WM_DDE_ACK message.

Receiving

The server application posts the WM_DDE_ACK message to respond positively or negatively. The server should reuse the hCommands object.
Unless specified otherwise by a sub-protocol, the server should not post the WM_DDE_ACK message until all the actions specified by the execute command string are completed. The one exception to this rule is when the string causes the server to terminate the conversation.

See Also

GlobalAlloc, IsWindowUnicode, PackDDElParam, PostMessage, ReuseDDElParam, SendMessage, UnpackDDElParam, WM_DDE_ACK


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

WM_DDE_EXECUTE



Приложение клиента DDE посылает сообщение WM_DDE_EXECUTE в приложение сервера DDE, чтобы посылать строку в сервер, который нужно обрабатывать как серия команд. Ожидается, что приложение сервера пошлет сообщение WM_DDE_ACK в ответ.

WM_DDE_EXECUTE
wParam = (WPARAM) hwnd; // ручка приложения почтового отправления lParam = (LPARAM) hCommands; // ручка на глобальный объект


Параметры

hwnd

Величина wParam. Идентифицирует почтовому отправления окна клиента сообщение.

hCommands

Величина lParam. Содержит глобальный объект памяти на который ссшлется ANSI или командная строка Уникода, в зависимости от типов окна включенного в разговор.



Замечания

Командная строка является недействительный расторгнутой строкой, состоящей из одной или более opcode строк приложенных в единственных скобках ([ ]).
Каждый opcode строка имеет следующий синтаксис, где список параметров дополнительный: opcode параметры
opcode - любой определенный прикладной единственный признак. Это не может включить пробелы, запятые, круглые скобки, скобки, или кавычки.
Список параметров может содержать любую определенную прикладную величину или величины. Многочисленные параметры разделены запятыми, и целый список параметра приложен в круглых скобках. Параметры не могут включить запятые или круглые скобки кроме в ссылать на строку. Если скобка или символ скобков должны появляться в ссылать на строку, это не должно быть удвоено, как являлся причиной под старыми правилами.

Следующее является немного правильными командными строками:

[connect][загрузка(query1,results.txt)][disconnect] [запрос("sales за служащего для каждого округа")] [открытый("sample.xlm")][запускать("r1c1")] [quote_case("This - "" символ")] [bracket_or_paren_case("()s или []s должно не быть никакой проблемой.")]


Отметьте, что, под старыми правилами, круглые скобки и скобки должны быть удвоенн, следующим образом:

[bracket_or_paren_case("(())s или [[]]s должно не быть никакой проблемой.")]


Серверы должны быть способными выполнить грамматический разбор команды в также форма.
Уникод выполняет строки должно использоваться только когда как клиент так и причина ручек окна сервера функция IsWindowUnicode, чтобы возвращать ИСТИНУ.

Почтовое отправления

Приложение клиента посылает сообщение WM_DDE_EXECUTE вызывая функцию PostMessage, не функция SendMessage.
Приложение клиента распределяет hCommands вызывая функцию GlobalAlloc с опцией GMEM_DDESHARE.
При обработке сообщения WM_DDE_ACK, что сервер посылается в ответ на сообщение WM_DDE_EXECUTE, приложение клиента должно удалить объект hCommands возвращанный в сообщение WM_DDE_ACK.

Получающий

Приложение сервера посылает сообщение WM_DDE_ACK, чтобы отвечать положительно или negatively. Сервер должен использовать многократно объект hCommands.
Если не определено в противном случае под-протоколом, сервер не должен посылать сообщение WM_DDE_ACK до всех действий определенных выполнять командную строку завершены. Одно исключение из этих правил - когда строка заставляет сервер, чтобы завершать разговор.

Смотри Также

GlobalAlloc, IsWindowUnicode, PackDDElParam, PostMessage, ReuseDDElParam, SendMessage, UnpackDDElParam, WM_DDE_ACK


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz