アプリケーションの実行後も残るように、画面の中央に小さな点を描画したいと考えています。フルスクリーン モードでアプリケーションを起動した後でも、ドットが残るはずです。デッドピクセルのように。
Windows 7 を搭載したコンピューターに Visual C++ を既にインストールしています。C++ の使用経験はありますが、Windows OS でグラフィックスを操作したことはありません。
画面にドットを描くにはどうすればよいですか?
多くのグラフィックス カードにはオーバーレイ機能があり、他のアプリケーションが他のレイヤーで何をレンダリングしているかに関係なく、1 つを画面の最前面に設定することが可能です。
ただし、それを行う方法は、ビデオ カードのモデルとドライバーに固有のものです。
または、フルスクリーン レンダリングを実行するアプリケーション内でコードを取得し、レンダリング コンテキストを見つけて、理想的なタイミングで描画することもできます。これには、さまざまなグラフィックス API のすべてに対して多数のバリアントが必要です。
Steam の移植性の問題 (無数の実装) を解決しようとする試みと、それを利用する方法について説明している人物がいます。
適切に配置された 1x1 ピクセル (または必要な任意のサイズ) のウィンドウを作成し、境界線やタイトル バーをなくし、すべてのクライアント領域を適切にペイントします。ウィンドウがWS_EX_TOPMOST
スタイルで作成されることが重要です。プログラムが実行されている限り、そのスタイルの他のウィンドウが重なっていない限り、ウィンドウは表示されます。
私はいたずらとしてこれをしました。フルスクリーンの OpenGL ゲーム (Quake III) で非常にうまく機能しました。LOSER という単語が点滅するように、友人のマシンにインストールしました。ゲーム中ランダムに画面中央に大きな文字で
これは、XP システムで完全に機能しました。Windows 7で動作するはずだと思います。