检测笔记本电脑盖子的关闭和打开
是否可以检测笔记本电脑的盖子何时打开或关闭?从我读到的内容来看,这是不可能的,但 SO 之前已经帮助我完成了不可能的任务。
我发现唯一可能正确的方向是 有关报告电源按钮所需的 IOCTL 的 MSDN 博客文章。是否可以像操作系统调用它们那样“嗅探”它们?
我正在使用 VB.NET,但会接受任何语言的建议。感谢您的时间和建议。
编辑:我的软件将(最终)覆盖盖子关闭时发生的操作(基于用户偏好),因此监听盖子关闭时通常发生的暂停和其他操作是“ t 一个选项。
Is it possible to detect when a laptop's lid is open or closed? From what I've read, this isn't possible, but SO has helped me with the impossible before.
The only thing I've found that might be in the right direction is an MSDN blog post about IOCTLs needed to report power buttons. Is it possible to "sniff" these as the OS calls them?
I'm using VB.NET, but will take suggestions in any language. Thank you for your time and advice.
Edit: My software will be (eventually) overriding the actions (based on user preference) that occur when the lid is closed, so listening for suspend and other actions that typically occur when the lid is closed isn't an option.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
WPF 应用程序的完整工作 C# 代码,显示如何侦听盖子打开/关闭事件:
Complete working C# code for WPF application that shows how to listen to lid open/close events:
使用 WM_POWERBROADCAST。以下链接可以为您提供帮助: 合盖操作更改通知
Use WM_POWERBROADCAST. Here's a link that can help you: Lid Close Action change notification
请记住,大多数笔记本电脑在合上盖子时都会按下按钮。该按钮通常只是一个睡眠按钮。 WMI 类公开 ACPI,您最好使用 PowerManagement 类。不幸的是,当操作系统设置为“不执行任何操作”时,该类不会引发事件。解决这个问题的唯一方法是使用 DDK(驱动程序开发工具包)创建一个过滤器来拦截 IOCTL_GET_SYS_BUTTON_EVENT 事件。以下两个链接可帮助您入门:
链接
和
http://support.microsoft.com/kb/ 302092
Keep in mind that most laptops, when the lid closes, it depresses a button. This button is usually just a sleep button. The WMI classes expose the ACPI and you would ideally want to use the PowerManagement Class. Unfortunately, the class does not raise an event when the operating system is set to "do nothing". The only way around this would be to use the DDK (Driver Development Kit) to create a filter that intercepts the IOCTL_GET_SYS_BUTTON_EVENT event. Here are two links to help you get started:
Link
and
http://support.microsoft.com/kb/302092
这是一个解决方案;
https:// www.codeproject.com/Tips/480049/Shut-Down-Restart-Log-off-or-Lock-your-computer-in
我做到了;
当你合上盖子时,它是锁定屏幕。
Here's a solution;
https://www.codeproject.com/Tips/480049/Shut-Down-Restart-Log-off-or-Lock-your-computer-in
and i did;
it's locking screen when you close the lid.
电源管理
我希望它能给你一些指导:)
Power Managment
I hope it give u some direction :)