相关疑难解决方法(0)

检测笔记本电脑盖关闭和打开

是否可以检测笔记本电脑的盖子何时打开或关闭?从我所读到的,这是不可能的,但是SO已经帮助我完成了不可能的事情.

我发现的唯一可能是正确的方向是MSDN博客文章,关于报告电源按钮所需的IOCTL.操作系统调用它们是否有可能"嗅"这些?

我正在使用VB.NET,但会接受任何语言的建议.感谢您的时间和建议.

编辑:我的软件将(最终)覆盖盖子关闭时发生的操作(基于用户偏好),因此不能选择关闭盖子时通常发生的暂停和其他操作.

.net pinvoke winapi ioctl

26
推荐指数
3
解决办法
9734
查看次数

获取当前的笔记本电脑盖状

我正在写一个C#应用程序(专门用于笔记本电脑),我想知道盖子的状态,即何时打开以及何时关闭.

我已经在这个SO答案的帮助下使用了pInvoke和Microsoft的RegisterPowerSettingNotification函数.

因此,有了上述内容,我知道当盖子关闭或打开并知道其状态时,但我想在其他任何事情继续之前获得盖子的状态.我注意到即使盖子没有变化,也会调用回调函数,我可以检查它的参数以了解盖子的状态,但这对我来说不好,因为它是一个事件,我不能简单地等待为了它发生(也许有另一种方法来解决这个问题?).

我也尝试过PowerEnumerate功能,但无法从中得到一些东西(也许有一些我不知道的东西可以提供帮助)

编辑1:我不能等待或延迟应用程序,并且有2个问题要求我获得没有CB的状态,首先是在笔记本电脑连接到显示器时可以关闭盖子从而允许用户使用笔记本电脑.如果用户在这种情况下启动应用程序,则无法启动.第二个原因是我希望应用程序对用户友好并通知启动或停止时会发生什么,如果我在错误的时间得到cb,可能会被忽略,因为应用程序的内部逻辑,然后必须等到下一次我得到一个cb,我一点都没有.

那么,(没有双关语意)有没有办法立即得到这些信息?

编辑2:从评论看来,我不清楚我需要什么.我需要一种方法来查询盖子的状态.即 - 调用一些API或其他东西,返回值是状态.谢谢!

关键字:GUID_LIDSWITCH_STATE_CHANGE,WM_POWERBROADCAST,电源设置

c# c++ winapi

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

在Windows中捕获笔记本电脑盖关闭事件?

我正在寻找一种拦截笔记本电脑盖关闭事件的方法.在Windows 7中,电源管理允许我在盖子关闭时选择所需的行为.因此窗户必须有一个方法可以知道盖子何时关闭.

我做了我的研究,但只发现了监测睡眠事件的建议.我想更具体的是只回应关闭盖子.

有没有人有建议?

谢谢!

windows

5
推荐指数
2
解决办法
6770
查看次数

标签 统计

winapi ×2

.net ×1

c# ×1

c++ ×1

ioctl ×1

pinvoke ×1

windows ×1