如何使用C#识别键盘键

1 c# keyboard key identify

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

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

Tor*_*gen 9

简单.为...创建一个事件处理程序

Microsoft.Win32.SystemEvents.SessionSwitch
Run Code Online (Sandbox Code Playgroud)

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

希亚姆:很抱歉没有立刻回复你.您不必包含任何特殊的DLL.该SystemEvents班是在系统组装.这个处理程序是否属于业务层 - 我想它属于包含服务类的任何项目 - 从WindowsService继承的那个.

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

void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)
{
    if (_isRunning)
    {
        // Pause
    }
}
Run Code Online (Sandbox Code Playgroud)