2

これでゲームを描画できますが、ウィンドウモードの場合にのみ、TopMostフォームに描画してクリック可能に設定します。

//C++ .NET 4
private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
    int initialStyle = GetWindowLong(this->Handle, -20);
    SetWindowLong(this->Handle, -20, initialStyle | 0x80000 | 0x20);
}

しかし、ゲームがフルスクリーンで実行されている場合、私はそれを行うことができません:(

フルスクリーンゲームで何かできますか?(可能であればC ++を使用)

4

1 に答える 1

2

あなたは(少なくともそのように)できません。ゲームがフルスクリーンモードに入ると、通常、DirectXまたはOpenGLへの低レベルの呼び出しを使用してこれを行います。これにより、Windowsデスクトップのすべてのウィンドウロジックが無効になります。その後、ゲームはグラフィックスデバイスのフレームバッファに直接描画し、グラフィックスドライバはこのコンテンツを画面に表示します-ウィンドウ処理は完全にバイパスされます。

それを実際に「上書き」するには、あらゆる種類のWinForms / MFC呼び出しを忘れることができますが、フレームバッファーを操作できる低レベルのドライバー呼び出しを調べる必要があります(ただし、外部プロセスからこれを実行できるとは思えません)。 。

于 2012-12-29T18:44:53.863 に答える