如何在MFC DLL中向C 類傳送訊息

2022-04-04 04:06:26 字數 1524 閱讀 2491

如何在mfc dll中向c#類傳送訊息

一、 引言

由於windows message才是windows平台的通用資料流通格式,故在跨語言傳輸資料時,message是乙個不錯的選擇,本文件將描述如何在mfc dll中向c#視窗類傳送訊息。

二、 實現過程

1. 新建乙個基於mfc的dll工程,在工程作用是用於生成dll庫函式;

2. 在該工程中新增乙個類,cmessager;

3. 在標頭檔案中新增**如下:

1

#define zs_api extern "c" _declspec (dllexport) void

23 zs_api _sendmessagetocs(hwnd hwnd, uint msg, wparam wparam, lparam lparam);

4. 在cpp檔案中新增**如下:

1

zs_api _sendmessagetocs(hwnd hwnd, uint msg, wparam wparam, lparam lparam)

2

6. 新增msgtest普通類,類中**如下:

1

public

class

msgtest

2

7. 新增messager類,類中**如下:

1

public

class

messager

2

8. 給form1新增乙個「呼叫mfc dll傳送訊息」按鈕,雙擊在事件響應中新增如下**:

1

private

void button1_click(object

sender, eventargs e)

2

9. 在form1類中重寫預設視窗過程,**如下:

1

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 }

10. build整個工程

三、 實現效果

單擊「呼叫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 允許類內定義要作為物件被存在記憶體中的實體,那麼這...