轉(zhuǎn):http://www.cnblogs.com/nbsofer/archive/2012/09/11/2680980.html
消息作用: 在進(jìn)程間共享數(shù)據(jù)(內(nèi)部通過(guò)創(chuàng)建內(nèi)存映射文件) 消息介紹: 需要用到的數(shù)據(jù)結(jié)構(gòu)/類(lèi)型: typedef struct tagCOPYDATASTRUCT { ULONG_PTR dwData; DWORD cbData; PVOID lpData; } COPYDATASTRUCT, *PCOPYDATASTRUCT; 結(jié)構(gòu)體參數(shù)說(shuō)明: dwData(ULONG) 保存一個(gè)數(shù)值, 可以用來(lái)作標(biāo)志等 lpData(void*) 待發(fā)送的數(shù)據(jù)的起始地址(可以為NULL) cbData(DWORD) 待發(fā)送的數(shù)據(jù)的長(zhǎng)度 消息的參數(shù): hWnd: 接收數(shù)據(jù)的窗口的句柄 wParam: 傳送該數(shù)據(jù)的窗口句柄(NULL也無(wú)所謂) lParam: COPYDATASTRUCT類(lèi)型變量的地址 使用示例: COPYDATASTRUCT cds; char msg[] = "女孩不哭"; cds.dwData = 0; cds.lpData = msg; cds.cbData = strlen(msg)+1; //字符串請(qǐng)記得把'\0'加上, 不然就錯(cuò)了, 這里是ANSI字符串 SendMessage(FindWindow("nbsg_class", NULL), WM_COPYDATA, 0, (LPARAM)&cds); 接收端對(duì)該消息的一種可能處理: case WM_COPYDATA: { //這里的消息應(yīng)該是以 '\0' 結(jié)尾的字符串 COPYDATASTRUCT* pCDS = (COPYDATASTRUCT*)lParam; MessageBox(hWnd, pCDS->lpData, "", MB_OK); return TRUE; } 說(shuō)明: 女孩不哭(QQ:191035066) @ 2012-09-11 23:25:31 @ http://www.cnblogs.com/nbsofer 分類(lèi): Win32開(kāi)發(fā) |
|