0
私はC++/CLIを使用して、それ以外のネイティブDLLのWPFインタフェースを作成しています。WindowInteropHelperがC++/CLIで構築できない
最小限に抑えることができ、閉じられていないウィンドウを作成したいと考えています。私は検索し、それを行う唯一の方法はWIN32の呼び出しを介していることがわかりました。だから、私は次のコードを使用しています。
// window_ is a Window^initialized from XAML and checked against nullptr
// its WindowStyle is SingleBorderWindow
System::Windows::Interop::WindowInteropHelper helper(window_);
IntPtr winhandle = helper.Handle;
void * winhandleptr = winhandle.ToPointer();
HWND hWnd = static_cast<HWND>(winhandleptr);
SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~WS_SYSMENU);
が、winhandle
0
の値を取得します。 SetWindowLong()
呼び出しが無効なハンドルで失敗します。
私はここで間違っていますか?