Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 告诉windows要在哪个监视器上显示对话框_Python_Windows_Winapi_Pywin32_Multiple Monitors - Fatal编程技术网

Python 告诉windows要在哪个监视器上显示对话框

Python 告诉windows要在哪个监视器上显示对话框,python,windows,winapi,pywin32,multiple-monitors,Python,Windows,Winapi,Pywin32,Multiple Monitors,我有一个使用多个监视器的程序。该程序在第二个监视器上显示特殊的可视化效果。在某一点上,该程序使用windows shell函数将文件发送到回收站。然而,当它这样做时,删除确认对话框出现在我的可视化的顶部。这尤其有问题,因为当鼠标位于第二个监视器上时,我的程序使用鼠标挂钩捕获所有鼠标输入,因此用户甚至无法单击确认对话框 是否可以告诉Windows仅在特定显示器上放置对话框 我使用的是python,但是如果我必须调用C WinAPI函数,这应该不是问题您使用哪个函数将文件发送到回收站?如果使用,则可

我有一个使用多个监视器的程序。该程序在第二个监视器上显示特殊的可视化效果。在某一点上,该程序使用windows shell函数将文件发送到回收站。然而,当它这样做时,删除确认对话框出现在我的可视化的顶部。这尤其有问题,因为当鼠标位于第二个监视器上时,我的程序使用鼠标挂钩捕获所有鼠标输入,因此用户甚至无法单击确认对话框

是否可以告诉Windows仅在特定显示器上放置对话框


我使用的是python,但是如果我必须调用C WinAPI函数,这应该不是问题

您使用哪个函数将文件发送到回收站?如果使用,则可以传递父HWND。也许可以在另一个监视器上设置一个不可见的WS_EX_TOOLWINDOW窗口

我希望将该窗口视为父窗口的API将相对于该窗口居中,但我还没有尝试过

根据您所针对的Windows版本,过去有一种功能可以创建“停靠”到屏幕两侧的桌面条带。这会自动被分解到作为rcWork返回的区域中,并应防止对话框重叠此空间。可能还有另一种方式来声明某个区域“正在使用”,以声明空间不受限制,但我不知道,所以它可能不存在


你可以做的丑陋而粗糙的事情是自己投票并移动对话框,但如果这是一种广泛部署的或商业应用程序,可能弊大于利。

我会尝试一下。SHFileOperation是否删除该文件,或将其移动到回收站?我使用的是Tim Golden的winshell包:,但我可以尝试直接API函数。我真傻,原来Tim Golden模块中有一个选项不要求确认。这并不能解决长期的问题,但除了删除文件,我没有任何问题。谢谢你的回答!