强制窗口移动/设置另一个进程的SetWindowPosition

时间:2014-04-02 04:09:09

标签: c# .net winforms winapi hook

我一直在研究一款名为L.A. Noire的游戏开发的录音软件。游戏能够以窗口模式运行,但它们似乎不允许窗口移动。

当游戏在启动时滞后时,我注意到的一件事是你可以移动窗口,它会留在你放置它的地方。深入研究Windows 7我发现我可以通过SHIFT +右键单击强制窗口菜单,并确认窗口确实可以移动。

我抓住了Win32 API调用SetWindowPos并将我的C#代码实现为"关注"一个窗口。这适用于其他应用程序,如uTorrent,Calc和我尝试过的所有其他常规应用程序。但是,它确实为LA Noire工作。我试图切换SetWindowPos上的标记,例如表示不将其传递给WndProc,不显示/移动,不调整大小等的标记。

我还尝试了SetWindowPos的其他变体,例如MoveWindow,它们没有帮助移动LA Noire,但仍然使用Calc等。

下一个合乎逻辑的步骤是什么?我应该手动向程序发送WM_MOVE还是应该在窗口上安装挂钩?

0 个答案:

没有答案