お気に入りのゲームのスクリーンショットを自動的に撮る C++ コードを書いています。私のコードの一部は次のようになります。
SelectObject(hCDC, shot);
BitBlt(hCDC, 0, 0, WIDTH, HEIGHT, hDDC, 0, 0, SRCCOPY);
SelectObject(hCDC, oldBitmap);
Bitmap shotBitmap(shot, NULL);
次のように、関連する変数を以前に初期化しました。
HDC hDDC = GetDC(handle);
HDC hCDC = CreateCompatibleDC(hDDC);
HBITMAP shot = CreateCompatibleBitmap(hDDC, WIDTH, HEIGHT);
HBITMAP oldBitmap = (HBITMAP) SelectObject(hCDC, shot);
明確な理由はありませんが、コードは BitBlt 関数で何かが更新されるまでハングします (ただし、何が更新されるかはわかりません)。ゲーム内のボタンをクリックするか、ゲーム外のウィンドウをクリックするミリ秒単位で、BitBlt が終了し、残りのコードが問題なく実行されます。不思議なことに、私は最近この問題に出くわしただけです。それは今までになかった。さらに不思議なことに、それは私のラップトップでのみ発生し、友人のラップトップでは発生しません. 何が起こっている可能性がありますか?