海....什麼是C#HWND(VC++)相當於,因爲我想從我的C#程序發送HWND到VC++的dll什麼是HWND在vC++
1
A
回答
1
2
這將是IntPtr,這意味着包含非託管句柄和指針。
7
HWND是一個 「處理一個窗口」 和是Win32 API的一部分。 HWND本質上是指針(IntPtr),它們的值使它們(排序)指向窗口結構數據。一般來說,HWND是應用ADT模型的一個例子。
如果您想要Control的HWND請參閱Control.Handle屬性。它是一個IntPtr,其值是一個HWND。
由於HWND不是.Net實體,因此需要手動發佈。這是通過Control.DestroyHandle()完成的。
密切關注HWND的創造和破壞。對象銷燬的責任在.Net中是不尋常的,並且通常是錯誤和內存泄漏的來源。
1
如上所述,HWND是Window Handle的縮寫。 HWND後面的真實類型只是一個帶整數字段的結構。所以它是模擬.Net是IntPtr
但是,這裏有一個相當有趣的問題 - 什麼大小的HWND在x64 Windows。因爲.net的IntPtr然後有64位長。但是,如果HWND保持32位長,則可能存在問題
0
HWND與IntPtr類似。
使用以下語法
[DllImport("ImortingDllName.dll")]
public static extern void ExposedFunction(IntPtr hwndmsg, int all);
相關問題
- 1. 什麼是無效的,更新方法在VC++中做什麼
- 2. 什麼WndProc_OnSize(HWND的HWND,UINT狀態,INT CX,INT CY)
- 3. VC++返回代碼是做什麼的?
- 4. 這段代碼有什麼問題(在vC++中是openAl)
- 5. 從textField hWnd從網站窗體中檢索文本vC++
- 6. 什麼是有效的方式來包裝HWND在C++中的對象?
- 7. 目標vc和源vc有什麼區別?
- 8. tlbimp.exe是轉換HWND到_RemotableHandle
- 9. 爲什麼VC++ 2010允許它編譯?
- 10. 有什麼替代Visual Assist的VC++?
- 11. 什麼是Visual Studio 2008中的VC加速器編輯器
- 12. 線程(VC++ 2010)中'join'的含義是什麼?
- 13. 什麼是關於VC++的心靈窗口?
- 14. VC++ 10 MFC:什麼是正確的本地化方法
- 15. tf vc scorch的命令是幹什麼的?
- 16. 「class」和VC++中的類名之間的意思是什麼?
- 17. 爲什麼2D感知器的VC尺寸是3?
- 18. vC++中需要用於串行通信的函數是什麼?
- 19. 什麼是一個非常簡單的C++分析器(VC++)?
- 20. 什麼是我需要傳遞給GetWindowRect的「hwnd」?我如何獲得一個?
- 21. 如何找出一般的hWnd代表什麼?
- 22. HWND abc = 0x100;這不起作用,我明白爲什麼。那麼怎麼做呢?
- 23. 在VC是什麼的#pragma當量/ O2編譯選項的(優化速度)
- 24. 爲什麼VC++ 9(2008)並不總是在win7上創建.exe(LNK1104)
- 25. 當您在桌面(在Win7上)進行alt-tab時,HCBT_ACTIVATE附帶的HWND ref是什麼?
- 26. 爲什麼此可變參數計數宏在VC++中失敗?
- 27. 爲什麼strlen()在VC++調試器中返回<void>?
- 28. 在c#中創建HWND
- 29. IHTMLElement到HWnd
- 30. HINSTANCE到HWND
海進一步vinoth..proceed .. – maxy 2009-10-28 07:33:24