相关疑难解决方法(0)

有没有办法在Windows中检测监视器状态(打开或关闭)?

有没有人知道是否有一个API来获取Windows(XP/Vista/2000/2003)中的当前监视器状态(打开或关闭)?

我的所有搜索似乎都表明没有真正的方法可以做到这一点.

此线程尝试使用GetDevicePowerState,根据Microsoft的文档,它不适用于显示设备.

在Vista中,我可以收听GUID_MONITOR_POWER_ON,但是当手动关闭显示器时,我似乎没有得到事件.

在XP中我可以挂钩WM_SYSCOMMAND SC_MONITORPOWER,查找状态2.这仅适用于系统触发电源的情况.

WMI Win32_DesktopMonitor类似乎也没有帮助.

编辑:这是关于comp.os.ms-windows.programmer.win32 的讨论,表明没有可靠的方法来做到这一点.

其他人还有其他想法吗?

windows winapi

20
推荐指数
4
解决办法
3万
查看次数

c#当屏幕/显示器关闭或打开电源时如何获取事件?

嗨,我一直在寻找,但我找不到答案.我怎么知道屏幕何时关闭或打开.不是SystemEvents.PowerModeChanged.我不知道如何检索显示/屏幕事件

 private const int WM_POWERBROADCAST     = 0x0218;
        private const int WM_SYSCOMMAND         = 0x0112;
        private const int SC_SCREENSAVE         = 0xF140;
        private const int SC_CLOSE              = 0xF060; // dont know
        private const int SC_MONITORPOWER       = 0xF170;
        private const int SC_MAXIMIZE           = 0xF030; // dont know
        private const int MONITORON = -1;
        private const int MONITOROFF = 2;
        private const int MONITORSTANBY = 1; 
[DllImport("user32.dll")]
        //static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
        private static extern int SendMessage(IntPtr hWnd, int …
Run Code Online (Sandbox Code Playgroud)

c# events screen monitor

13
推荐指数
1
解决办法
2万
查看次数

使用uiAccess = True安装桌面WPF应用程序时的注意事项

背景:

我需要在另一台显示器上创建调光效果.我想我通过使用WPF窗口解决了这个问题,该窗口占用了整个屏幕尺寸TopmostAllowsTransparency=.它具有内部黑色发光效果,并且具有WS_EX_TRANSPARENT | WS_EX_TOOLWINDOW应用于其中的样式(以及其他内容),以允许用户点击其后面的应用程序.

我监视EVENT_OBJECT_REORDERWindows 中的事件并调用SetWindowPos强制Topmost状态高于其他Topmost窗口.到目前为止,我的概念测试证明似乎运作良好.

我发现的问题是这个调光(窗口)会覆盖任务栏,但是如果我单击开始菜单则不会.我目前正在使用Windows 10进行测试.如果单击"开始"菜单,则会导致"开始"菜单和任务栏显示在调光(窗口)上方.我希望一切都保持黯淡.

我通过uiAccess在应用程序清单中设置= true 来解决此问题,生成自签名证书,并将exe复制到"c:\ program files*".这允许我强制窗口的最顶级状态,甚至在开始菜单上方.

我的问题:

  • 有没有办法在没有开始菜单的情况下定位窗口uiAccess?或者甚至是另一种在不使用窗口的情况下强制屏幕昏暗(但不依赖于显示器驱动程序或硬件功能)的方法?

  • 如果没有,在分发WPF应用程序(通过WiX安装项目或类似的东西)时,我需要注意什么,以绕过UIPI限制uiAccess= True?我可以在安装过程中简单地安装自签名证书吗?用户是否会遇到任何其他障碍?作为一名开发人员,在构建此问题时,我是否会遇到任何其他障碍(除了我已经提到过的内容)?

谢谢!

.net c# wpf uipi ui-automation

9
推荐指数
1
解决办法
399
查看次数

监视python中的显示状态?

如何判断Windows何时更改显示器电源状态?

python winapi

2
推荐指数
1
解决办法
2126
查看次数

标签 统计

c# ×2

winapi ×2

.net ×1

events ×1

monitor ×1

python ×1

screen ×1

ui-automation ×1

uipi ×1

windows ×1

wpf ×1