Windows XP で C++ を使用してスクリーンショットをキャプチャしようとすると問題が発生します。
コードは次のようになります。
hDc = CreateCompatibleDC(0);
hBmp = CreateCompatibleBitmap(GetDC(0), width, height);
HGDIOBJ obj = SelectObject(hDc, hBmp);
BitBlt(hDc, 0, 0, width, height, GetDC(0), 0, 0, SRCCOPY);
マシン上では正常に動作しますが、ssh で cygwin シェルにログインすると、同じコードを実行する黒いスクリーンショットが表示されます。BitBlt
0 をGetLastError
返し、無効なハンドルを示す 6 を返します。しかし、どのハンドルも 0 ではありません。では、どうすればこれを機能させることができるのでしょうか。正確に何が問題なのか、少しわかりません。