加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – ShowWindow()SW_HIDE窗口立即生效,没有效果

发布时间:2020-12-16 07:15:43 所属栏目:百科 来源:网络整理
导读:在我的C应用程序中,我有以下代码: ShowWindow(hDlg,SW_HIDE);MakeScreenshot();ShowWindow(hDlg,SW_SHOW); 这应该捕获屏幕截图,不包括当前应用程序窗口.但是有一个问题. SW_HIDE需要一些时间,因为我的Windows 8.1配置为使用动画效果.所以隐藏窗口需要大约40
在我的C应用程序中,我有以下代码:

ShowWindow(hDlg,SW_HIDE);
MakeScreenshot();
ShowWindow(hDlg,SW_SHOW);

这应该捕获屏幕截图,不包括当前应用程序窗口.但是有一个问题. SW_HIDE需要一些时间,因为我的Windows 8.1配置为使用动画效果.所以隐藏窗口需要大约400毫秒,如果在此间隔期间捕获屏幕截图(它是),它还将包含应用程序本身的窗口,我不喜欢.

有没有办法立即隐藏当前窗口,所以它不会包含在创建截图函数中,后面会立即调用它?如果没有,除了应用程序本身之外,还有其他任何首选方法如何截取Windows桌面的屏幕截图吗?在MakeScreenshot之前添加延迟不是任何好的解决方案.谢谢.

解决方法

您可以使用MoveWindow(或SetWindowsPos)将不需要的窗口移动到虚拟桌面的可见区域之外,然后将其移回.

您可能需要枚举监视器以找到超出所有监视器范围的坐标,这将是一些工作.据推测,您的屏幕截图代码是计算快照的坐标,因此您可以重新使用该计算来找到一个安全的窗口停放位置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读