gpt4 book ai didi

c# - 如何判断一个Windows应用程序是否在屏幕外?

转载 作者:可可西里 更新时间:2023-11-01 13:28:18 31 4
gpt4 key购买 nike

我正在尝试与拥有 LogMeIn 的用户一起调试一个奇怪的问题安装。几天后,我的应用程序打开的一些对话框可能会在屏幕外结束。如果我能可靠地检测到这一点,我可以通过编程将对话框移回它们再次可见的位置。

注意:这必须适用于多个监视器并使用 win32 API。但是,如果您知道如何从 .NET 执行此操作,我可能可以从那里推断...

更新:出于好奇,上面提到的错误与 wxWidgets 有关。如果您运行一个 wxWidgets 应用程序,然后走开并让您的屏幕保护程序运行,然后使用 LogMeIn 远程登录,然后尝试从您的应用程序打开一个对话框,如果您使用 wxDisplay::GetFromPoint(pos) 或 wxWindowBase,您将遇到麻烦::Center() 定位对话框。

最佳答案

只需使用带有 MONITOR_DEFAULTTONULL 标志的 MonitorFromWindow。如果返回值为 null,则您的窗口不可见。您随后可以传递 MONITOR_DEFAULTTONEAREST 以便能够在最近的监视器上重新定位您的窗口。

关于c# - 如何判断一个Windows应用程序是否在屏幕外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/213256/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com