【发布时间】:2013-10-29 14:31:33
【问题描述】:
如何为我的应用程序禁用 Windows 7 的快照功能(以编程方式)?或者有什么方法可以检测应用程序是否已被捕捉,并专门调用 API 函数来取消捕捉它?
调用 SetWindowPos() 或 ShowWindow() 不能正确解开它 *(SW_MAXIMIZE 可以)。调用 SetWindowPos() 实际上会在以后调用 SetWindowPos() 和 MoveWindow() 时导致奇怪的行为。同样的不一致不适用于最大化的窗口。
【问题讨论】:
-
微软选择不公开 Aero Snap 的 API。
-
是的,好像是这样。不幸的是,必须取消捕捉捕捉的窗口才能在 OpenGL 中全屏显示。我今天才发现这个错误。最大化窗口首先取消对齐。
-
@JonathanPotter 如果 Microsoft 不公开 API,我们应该为它找到一个 hack。 第一个可能的解决方案在我的回答中,但第二个解决方案没有临时修改窗口样式:为
WM_SYSCOMMAND:SC_MOVE和WM_SYSCOMMAND:SC_SIZE编写自己的代码。第二种解决方案在未来和其他系统中的工作方式相同。
标签: winapi window-style window-position