如何使用C#识别键盘键

时间:2009-09-21 10:42:14

标签: c# keyboard key identify

我有一个C#应用程序在后台运行。现在我想在系统锁定时停止此应用程序。我怎样才能做到这一点。对此有任何帮助非常感谢。

感谢Hougen的解决方案。你可以建议我,我们应该包括任何Dll来处理“Microsoft.Win32.SystemEvents.SessionSwitch”这个事件吗?以及此代码应驻留在哪一层。我猜它在商业层。有什么想法退守这个吗?

1 个答案:

答案 0 :(得分:9)

易。为

创建一个事件处理程序
Microsoft.Win32.SystemEvents.SessionSwitch

事件。在其中,检查SessionSwitchEventArgs.Reason属性中的值SessionSwitchReason.SessionLock

Shyam :抱歉没有立刻回复你。您不必包含任何特殊的DLL。 SystemEvents类位于系统程序集中。这个处理程序是否属于业务层 - 我想它属于包含服务类的任何项目 - 从WindowsService继承的那个。

public MyService()
{
    InitializeComponent();
    SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;
}

void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)
{
    if (_isRunning)
    {
        // Pause
    }
}