D3DImage サンプルを SharpDX を使用して純粋な C#に変換しようとしています。Direct3D では、初期化に HWND が必要です。C++ での方法は次のとおりです。
WNDCLASSEX g_wc = { sizeof(WNDCLASSEX), CS_CLASSDC, nullptr, 0L, 0L,
GetModuleHandle(nullptr), nullptr, nullptr, nullptr, nullptr, L"Foo", nullptr };
HWND g_windowHandle;
// Create invisible window to get HWND
RegisterClassEx(&g_wc);
g_windowHandle = CreateWindow(L"Foo", L"Foo", WS_OVERLAPPEDWINDOW,
0, 0, 0, 0, nullptr, nullptr, nullptr, nullptr);
// then eventually we can create the device
Direct3DCreate9Ex(D3D_SDK_VERSION, &m_d3d);
m_d3d->CreateDeviceEx(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, g_windowHandle,
vertexProcessing | D3DCREATE_MULTITHREADED | D3DCREATE_FPU_PRESERVE,
&d3dpp, nullptr, &m_d3dDevice);
C# でこのダミー HWND を取得する最良の方法は何でしょうか? メイン ウィンドウの HWND とは異なる必要があります。私のアプリケーションは WPF プロジェクトです。