Share via


WM_DDE_EXECUTE訊息

動態資料交換 (DDE) 用戶端應用程式會將 WM_DDE_EXECUTE 訊息張貼至 DDE 伺服器應用程式,以將字串傳送至要當做一系列命令處理的伺服器。 伺服器應用程式預期會在回應中張貼 WM_DDE_ACK 訊息。

若要張貼此訊息,請使用下列參數呼叫 PostMessage 函式。

#define WM_DDE_EXECUTE     0x03E8

參數

wParam

張貼訊息之用戶端視窗的控制碼。

lParam

包含參考 ANSI 或 Unicode 命令字串的全域記憶體物件,視交談所涉及的視窗類型而定。

備註

命令字串是以 Null 結尾的字串,其中包含一或多個以單一括弧括住的 opcode 字串, ([ ]) 。 每個 opcode 字串都有下列語法,其中 參數 清單是選擇性的:

opcode 參數

opcode是任何應用程式定義的單一權杖。 它不能包含空格、逗號、括弧、括弧或引號。

參數清單可以包含任何應用程式定義的值或值。 多個參數會以逗號分隔,而整個參數清單會以括弧括住。 參數不能包含逗號或括弧,但引號字串內除外。 如果括弧或括弧字元出現在引號字串中,則不需要加雙引號,就如同舊規則下的情況一樣。

以下是有效的命令字串:

[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.")] 

請注意,在舊規則下,括弧和括弧必須加倍,如下所示:

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

伺服器應該能夠以任一形式剖析命令。

只有當用戶端和伺服器視窗控制碼都會導致 IsWindowUnicode 函式傳回 TRUE時,才應該使用 Unicode 執行字串。

張貼

用戶端應用程式會呼叫 GlobalAlloc 函式來配置全域記憶體物件。

處理伺服器在回復WM_DDE_EXECUTE訊息時所張貼的WM_DDE_ACK訊息時,用戶端應用程式必須刪除WM_DDE_ACK訊息所傳回的物件。

接收

伺服器應用程式會張貼 WM_DDE_ACK 訊息,以正面或負面回應。 伺服器應該重複使用全域記憶體物件。

除非由子通訊協定指定否則,除非由子通訊協定指定,否則伺服器不應該張貼 WM_DDE_ACK 訊息,直到執行命令字串所指定的所有動作都完成為止。 此規則的其中一個例外狀況是當字串導致伺服器終止交談時。

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Dde.h (包含 Windows.h)

另請參閱

參考

IsWindowUnicode

PackDDElParam

PostMessage

ReuseDDElParam

SendMessage

UnpackDDElParam

WM_DDE_ACK

概念

關於動態資料交換