现在我可以绘制游戏,但只有当它们处于窗口模式时,我才会在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 ++)
答案 0 :(得分:2)
你不能(至少那样)。当游戏进入全屏模式时,他们通常使用对DirectX或OpenGL的低级调用来执行此操作,这将禁用Windows桌面的所有窗口逻辑。然后游戏直接进入图形设备的帧缓冲区,图形驱动程序将在屏幕上显示此内容 - 窗口被旁路为全部。
要真正画出“结束”,你可以忘记所有类型的WinForms / MFC调用,但是你必须查看允许你操作帧缓冲的低级驱动程序调用(尽管我怀疑你可以从外部过程)。