簡単。のイベントハンドラーを作成します
Microsoft.Win32.SystemEvents.SessionSwitch
イベント。SessionSwitchEventArgs.Reason
その中で、値のプロパティを確認しますSessionSwitchReason.SessionLock
。
シャム:すぐに戻ってこないのでごめんなさい。特別なDLLを含める必要はありません。クラスはSystemEvents
システムアセンブリにあります。このハンドラーがビジネスレイヤーに属しているかどうか(サービスクラスを含むプロジェクトに属していると思います)は、WindowsServiceから継承したものです。
public MyService()
{
InitializeComponent();
SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;
}
void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)
{
if (_isRunning)
{
// Pause
}
}