如何在mfc dll中向c#類傳送訊息
一、 引言
由於windows message才是windows平台的通用資料流通格式,故在跨語言傳輸資料時,message是乙個不錯的選擇,本文件將描述如何在mfc dll中向c#視窗類傳送訊息。
二、 實現過程
1. 新建乙個基於mfc的dll工程,在工程作用是用於生成dll庫函式;
2. 在該工程中新增乙個類,cmessager;
3. 在標頭檔案中新增**如下:
14. 在cpp檔案中新增**如下:#define zs_api extern "c" _declspec (dllexport) void
23 zs_api _sendmessagetocs(hwnd hwnd, uint msg, wparam wparam, lparam lparam);
16. 新增msgtest普通類,類中**如下:zs_api _sendmessagetocs(hwnd hwnd, uint msg, wparam wparam, lparam lparam)
2
17. 新增messager類,類中**如下:public
class
msgtest
2
18. 給form1新增乙個「呼叫mfc dll傳送訊息」按鈕,雙擊在事件響應中新增如下**:public
class
messager
2
19. 在form1類中重寫預設視窗過程,**如下:private
void button1_click(object
sender, eventargs e)
2
110. build整個工程protected
override
void defwndproc(ref
message m)
2\r\nmsg:\r\nwparam:\r\nlparam:
", m.hwnd.tostring(), m.msg.tostring(), m.wparam.tostring(), m.lparam.tostring());
7messagebox.show(strinfo);
8break;9
10default:11
base.defwndproc(ref
m);12
break;13
}14 }
三、 實現效果
單擊「呼叫mfc dll傳送訊息」,效果如下:
部落格**:http:
歡迎交流!
C 如何在類中建立執行緒
一般我們在啟執行緒時,都是把執行緒函式寫成全域性函式來使用,但是如果要把執行緒操作寫成類,執行緒函式放在類裡面在c 編譯會不通過。在c 類中建立執行緒會有報錯 下面以乙個簡單的類進行舉例 external.件 ifndef radio external h define radio external...
如何在WinForm中請求傳送HTTP
如何在winform中請求傳送http 手工傳送http請求主要是呼叫 system.net的httpwebresponse方法 手工傳送http的get請求 建立乙個http請求 手工傳送http的post請求?post請求方式 request.method post 內容型別 request.c...
如何在類中定義常量?
如果你想得到乙個可用於常量表示式中的常量,例如陣列大小的定義,那麼你有兩種選擇 那麼,為何要有這些不方便的限制?因為類通常宣告在標頭檔案中,而標頭檔案往往被許多單 元所包含。但是,為了避免鏈結器設計的複雜化,c 要求每個物件都只能被定義一次。如果c 允許類內定義要作為物件被存在記憶體中的實體,那麼這...