SendMessage函式在兩個程式間的訊息傳遞

2021-05-21 15:40:49 字數 847 閱讀 8198

利用sendmessage函式傳送wm_copydata訊息,從而實現不同程序間傳遞資料。用兩個應用程式,乙個是用來傳送訊息的應用程式。乙個是用來接受訊息的應用程式。

傳送訊息的應用程式的設計:

(2)、按鈕控制項事件過程中,先利用findwindow查詢接受訊息的應用程式,如果找到了,就用sendmesage函式傳送訊息。

void cdatamsgmaindlg::onbutton1()

cstring msgedit;

getdlgitem(idc_edit1)->getwindowtext(msgedit);

copydatastruct data=;

data.dwdata=(dword)this->getsafehwnd();

data.cbdata=msgedit.getlength();

data.lpdata=msgedit.getbuffer(msgedit.getlength());

::sendmessage(hwnd,wm_copydata,(wparam)this->getsafehwnd(),(lparam)&data);

}接受訊息的應用程式的設計:

(1)、包含乙個編輯框控制項,用於顯示接受的資料。

bool cdatamsgclientdlg::oncopydata(cwnd* pwnd, copydatastruct* pcopydatastruct)

wm_copydata是能夠傳遞資料的,其資料主要是通過copydatastruct結構的資料來傳輸:

typedef struct tagcopydatastruct  copydatastruct, *pcopydatastruct;

SENDMESSAGE函式巧應用

在這一期的sendmessage函式應用中,我將向大家介紹如何利用訊息函式來擴充套件樹型列表 treeview 控制項的功能相信對於樹型列表控制項大家十分的熟悉,典型的應用就是windows資源管理器中的目錄列表。在vb中,樹型列表控制項包含在microsoft windows common con...

在C 中使用SendMessage

在c 中使用sendmessage 日期 2005 02 04 備註 主要描述在呼叫api函式sendmessage時資料型別的轉換。sendmessage是乙個在user32.dll中宣告的api函式,在c 中匯入如下 using system.runtime.interopservices dl...

如何用SendMessage 函式傳遞字串

如何用 sendmessage 函式傳遞字串 一 兩個引數都帶字串的形式 void caaadlg onbutton1 lresult caaadlg oncurrentinfo wparam wparam,lparam lparam 二 只帶乙個字串的形式 cstring strpara t fg...