非託管C++ DLL有一個導出的功能,接受一個int類型作爲窗把手傳遞視窗處理成非託管的C DLL
void SetWindowHandle(int nHandle);
其他地方在非託管的DLL的代碼int
澆鑄到HWND
和是正確使用。
,並從Windows窗體應用程序,我設置手柄如下
_hHandle = this->Handle.ToInt32();
m_pViewer->SetWindowHandle(_hHandle);
哪裏_hHandle
是類中的私有成員。我的手柄是否正確?看起來像是這樣,但顯然這個應用程序並沒有給出慾望輸出。我懷疑問題在於手柄。 PS:我有權訪問非託管dll,所以我可以在那裏修改任何建議的更改。
Winforms應用程序也在託管C++中,非託管C++的包裝作爲單獨的類頭/ cpp包含在winforms項目中。 – rptony 2009-04-27 21:42:39
是的,我也得到了DLL裏面的句柄(以及整數);但不知道這是否是一個正確的處理。那麼,讓我在該句柄上調用GetDC,如果它返回正確,那麼它是一個有效的句柄嗎? – rptony 2009-04-27 21:44:53