快速切換使用者
當使用者登入計算機時,系統會載入其配置檔。 因為每個使用者都有唯一的用戶帳戶,這可讓多位用戶共享計算機。 當使用者登入時,他們看到的桌面設定、檔案、我的最愛和歷程記錄就是他們所看到的:其他用戶無法存取它們。 當使用者註銷時,其配置檔會在下次登入時保留。 在較舊的操作系統中,用戶必須先註銷,其他使用者才能登入。 從 Windows XP 開始,使用者不需要註銷,以允許其他使用者登入。 相反地,多位使用者可以登入,並在其開放帳戶之間快速切換。 這項功能稱為 快速用戶切換。 切換至另一個帳戶並不會變更使用者目前正在執行的應用程式狀態。 例如,假設一位使用者在登入第一個使用者時,允許另一位使用者切換至其帳戶。 當第一個使用者切換回其帳戶時,其應用程式正在執行,並保留其網路連線。 因此,這兩個使用者似乎同時使用計算機。
如果您的應用程式符合 Windows 2000 標誌需求,他們應該在 Windows XP 和更新版本的作業系統上快速切換使用者。 不過,在開發應用程式時,請務必記住此案例,使其如用戶預期般運作。 撰寫應用程式時,請使用下列指導方針:
- 實作真正的配置檔分隔。 系統提供基礎基礎結構,可支援分隔用戶數據、用戶設定和計算機設定。 例如,使用使用者的 Documents 資料夾來儲存使用者建立的數據。 若要尋找應用程式特定資料的目錄,請使用具有 FOLDERID_RoamingAppData 的已知資料夾系統,或針對較舊的作業系統,使用具有 CSIDL_APPDATA 的 CSIDL 系統)。 將 FOLDERID_LocalAppData 或 CSIDL_LOCAL_APPDATA 用於其他計算機上使用者不應使用的資料,例如暫存盤。
- 註冊用戶切換的通知。 一般而言,應用程式不需要在交換器發生時收到通知。 不過,如果您的應用程式必須收到會話變更的通知,它可以註冊以接收 WM_WTSSESSION_CHANGE 訊息。
- 請注意應用程式的其他實例。 例如,有時候應用程式必須從因特網下載更新。 如果其他使用者在另一個會話中同時執行應用程式的實例,更新可能會失敗。 即使更新成功,更新仍會導致應用程式的其他執行中實例以無法預期的方式運作。 因此,只有在沒有執行應用程式的其他實例時,才最好執行動態升級。 下載應用程式更新之前,可能應該實作方法,以發出應用程式所有執行中實例的訊號,以儲存數據並清除結束。