1

私はwinapiの初心者です。codeprojectで一部のウィンドウを除いてデスクトップをキャプチャする例を見ました

子ウィンドウが作成され、キャプチャされます。

hwndMag = CreateWindow(WC_MAGNIFIER, TEXT("MagnifierWindow"), 
        WS_CHILD | MS_SHOWMAGNIFIEDCURSOR | WS_VISIBLE,
        0, 0, m_ScreenX, m_ScreenY, 
        hostDlg->GetSafeHwnd(), NULL, hInstance, NULL ); 

子ウィンドウを作成する代わりに、親ウィンドウを作成したい。

私はこのコードで試しました。

hwndMag = CreateWindow(WC_MAGNIFIER, TEXT("MagnifierWindow"), 
         MS_SHOWMAGNIFIEDCURSOR | WS_VISIBLE,
        0, 0, m_ScreenX, m_ScreenY, 
        NULL , NULL, hInstance, NULL ); 

黒い画面で新しいウィンドウが表示されます。また、キャプチャ ボタンをクリックしても、ウィンドウが動かなくなります。

なぜこれが起こっているのですか?新しい親ウィンドウでそれを機能させるにはどうすればよいですか?

ありがとう

4

2 に答える 2

-1

興味がある場合は、https://code.msdn.microsoft.com/Windowsで入手できる「Windows 7 UI オートメーション クライアント API C# サンプル (フォーカス トラッキング)」と呼ばれる拡大 API を使用するサンプル アプリを作成しました。 -7-UI-Automation-6390614a . アプリは、キーボード フォーカスがどこにあるかを追跡し、拡大ウィンドウにフォーカスのある要素を表示します (拡大 API を使用して色を反転します)。これは C# アプリであるため、interop を使用して倍率 API にアクセスします。

結果のスクリーンショットを以下に示します。

ありがとう、

ここに画像の説明を入力

于 2015-08-13T13:58:33.307 に答える