DDE客户端应用程序发送WM_DDE_INITIATE消息,以响应指定的应用程序和主题名称发起与服务器应用程序的对话。收到此消息后,具有与指定应用程序匹配并且支持指定主题的名称的所有服务器应用程序都将被承认。(有关详细信息,请参阅WM_DDE_ACK消息。)
WM_DDE_INITIATE
wParam = (WPARAM) hwnd; //发帖的句柄。
lParam = MAKELPARAM(aApp, aTopic); // appl。和主题原子
参数
【HWND】
价值【wParam中】.标识发送消息的客户端窗口。
【应用】
【lParam的】的低位字的值。包含一个原子,用于标识请求对话的应用程序。应用程序名称不能包含斜杠(/)或反斜杠(\\)。这些字符被保留用于网络实现。如果【应用】为NULL,则会请求与所有应用程序的对话。
【特应性】
【lParam的】的高位字的值。包含一个标识要求对话的主题的原子。如果主题为NULL,则请求所有可用主题的对话。
备注
如果【应用】为NULL,任何服务器应用程序都可以响应。如果【特应性】为NULL,任何主题都有效。一旦接收到【特应性】参数设置为NULL的WM_DDE_INITIATE请求,服务器必须为其支持的每个主题发送WM_DDE_ACK消息。
发出
客户端应用程序通过调用SendMessage功能而不是PostMessage功能发送WM_DDE_INITIATE。通过将SendMessage的第一个参数设置为-1,客户端将消息广播到所有顶级窗口。
如果客户端应用程序已经获取了所需服务器的窗口句柄,则可以通过将服务器的窗口句柄作为第一个参数SendMessage传递给服务器窗口直接发送WM_DDE_INITIATE。
客户端应用程序通过调用GlobalAddAtom分配【应用】和【特应性】.
当SendMessage返回时,客户端应用程序必须删除【应用】和【特应性】原子。
接收
要完成对话的发起,服务器应用程序必须响应一个或多个WM_DDE_ACK消息,其中每个消息是单独的主题。当发送WM_DDE_ACK消息时,服务器应该创建新的【应用】和【特应性】原子;它不应该重用与WM_DDE_INITIATE一起发送的原子。
也可以看看
GlobalAddAtom, GlobalAlloc, PostMessage, SendMessage, WM_DDE_ACK