自动解锁系统计算机,获取windows系统锁定和解锁计算机事件

获取windows系统锁定和解锁计算机事件

开发中有时碰到要去获取计算机的锁定和解锁事件, 然后在决定在锁定前程序要作些什么, 解锁后程序要作些什么. 如锁定解锁后3D的设备组件会Lost也就是变为无效,需要重新获取, 否则3D不会得到刷新.

那么我们要怎么做呢?

可以用RegisterSessionNotification 和UnRegisterSessionNotification来注册和反注册.从而获取通知事件, 有事件时就会给注册的窗口发送WM_WTSSESSION_CHANGE 消息.对应wparam参数可以解析为一下:

// wParam values:

WTS_CONSOLE_CONNECT = 1;

WTS_CONSOLE_DISCONNECT = 2;

WTS_REMOTE_CONNECT = 3;

WTS_REMOTE_DISCONNECT = 4;

WTS_SESSION_LOGON = 5;

WTS_SESSION_LOGOFF = 6;

WTS_SESSION_LOCK = 7;

WTS_SESSION_UNLOCK = 8;

WTS_SESSION_REMOTE_CONTROL = 9;

除了上述方法外还有可以使用全局钩子截取user32.dll中LockWorkStation来获取. 或者改写winlogon对应的dll. 不过还是最前面的方法来的简单和安全.

想了解后两种方法请参看:

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

分享到:

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值