告诉窗口哪个监视器在上显示对话框

如何解决告诉窗口哪个监视器在上显示对话框

| 我有一个使用多个监视器的程序。该程序在第二个监视器上显示特殊的可视化效果。一方面,程序使用Windows Shell函数文件发送到回收站。但是,执行此操作时,删除确认对话框会出现在我的可视化文件的顶部。这尤其成问题,因为当鼠标位于第二台显示器上时,我的程序使用鼠标钩捕获所有鼠标输入,因此用户甚至无法单击确认对话框。 是否可以通过某种方式告诉Windows仅在特定的显示器上放置对话框? 我正在使用python,但是如果我必须调用C WinAPI函数,那应该不成问题     

解决方法

        您使用哪个功能将文件发送到回收站?如果使用SHFileOperation,则可以传递父HWND。可能会使另一个监视器上的WS_EX_TOOLWINDOW窗口不可见。 我希望将该窗口视为父窗口的API相对于该窗口居中,但我还没有尝试过。 根据要定位的Windows版本,以前可以创建“停靠”在屏幕两侧的桌带。这将自动分解到GetMonitorInfo作为rcWork返回的区域中,并应防止对话框重叠此空间。可能存在另一种声明区域处于“正在使用”状态的方式,该方式声明了空间超出限制,但是我不知道该区域,因此它可能不存在... 您可以做的丑陋而粗糙的事情是自己轮询并移动对话框,但是如果这是一种广泛部署或商业化的应用程序,则可能造成弊大于利。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?