我想跟踪Windows应用程序中的Windows解锁事件.怎么做?用于此的事件是什么?我需要导入任何命名空间吗?
当用户解锁窗口时,应用程序需要执行一些任务.
Las*_*sen 13
正如在StackOverflow中发布的回答:https://stackoverflow.com/a/604042/700926,您应该看一下SystemEvents.SessionSwitch事件.
示例代码也可以在推荐的答案中找到.
我只是将引用的StackOverflow答案中显示的代码用于旋转,它似乎适用于带有.NET framework 4.5的Windows 8 RTM.
供您参考,我已经包含了刚刚组装的控制台应用程序的完整示例代码.
using System;
using Microsoft.Win32;
// Based on: https://stackoverflow.com/a/604042/700926
namespace WinLockMonitor
{
class Program
{
static void Main(string[] args)
{
Microsoft.Win32.SystemEvents.SessionSwitch += new Microsoft.Win32.SessionSwitchEventHandler(SystemEvents_SessionSwitch);
Console.ReadLine();
}
static void SystemEvents_SessionSwitch(object sender, Microsoft.Win32.SessionSwitchEventArgs e)
{
if (e.Reason == SessionSwitchReason.SessionLock)
{
//I left my desk
Console.WriteLine("I left my desk");
}
else if (e.Reason == SessionSwitchReason.SessionUnlock)
{
//I returned to my desk
Console.WriteLine("I returned to my desk");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6268 次 |
| 最近记录: |