2014-10-10 48 views
1

當用戶使用Windows 7提供的Switch用戶選項從一個帳戶切換到另一個帳戶時,我想在Windows窗體應用程序中執行一組任務。所以我們是否有一些系統事件來處理此切換用戶案例?如何在c#中處理切換用戶?

回答

3

我認爲SystemEvents.SessionSwitch是你需要的。您可以聆聽新用戶的登錄並將其計爲用戶切換,因爲您的應用仍處於活動狀態(否則您將首先註銷)。

噹噹前登錄用戶發生變化時發生。

我想的邏輯用戶開關是:

  • 當前的會話仍然活着(沒有註銷);
  • 另一個會話登錄或解鎖。

這個事件可以處理兩個事件。

+0

這是一個勝利形式的應用程序,每當用戶切換帳戶一個新的實例將被創建,我想我們在勝利形式donot會話類的東西。 – 2014-10-10 07:33:41

+1

但是每個用戶都運行應用程序。這只是它的工作方式。也許你需要一個服務。 – 2014-10-10 07:36:08

+0

謝謝,但我目前的約束不支持該服務。 – 2014-10-10 07:47:07

0

我知道這是舊的,但我沒有看到有用的答案。你確實需要處理SystemEvents.SessionSwitch事件。當Windows用戶切換到另一個用戶時,事件中的SessionSwitchEventArgs將具有一個Reason屬性,該屬性是SessionSwitchReason枚舉,其值爲「ConsoleDisconnect」。當用戶切換回來時,它應該具有「ConsoleConnect」的值。