2010-05-25 105 views
0

有沒有辦法知道用戶是否完全登錄或不進入系統?我的意思是,我想知道初始登錄過程,其他初始化過程是否完成。一旦完成,我想啓動我的應用程序。所以,在我的服務(在sys shutdown之前安裝)我想繼續檢查是否一切都完成,根據我想啓動我的應用程序的結果。如何知道用戶是否完全登錄?

+0

我可以使用LogonUI.exe是否正在運行來解決此問題。當證書正確並且用戶登錄時,此過程停止。但在關機\註銷期間,如果有任何關機\註銷阻止程序調用(如未保存的worddoc),將有兩個選項1)強制關機\註銷,2)取消,如果按取消,winlogon啓動LogonUI.exe並使其永遠運行。所以我的決策邏輯在這個角落案例中失敗了。我不明白爲什麼LogonUI.exe會像這樣永遠運行。 :( – rplusg 2010-05-25 09:15:02

+0

或者,有沒有辦法來獲取取消消息? – rplusg 2010-05-25 09:21:21

回答

1

我不確定你的意思是關於「completeley登錄到系統」。用戶可以登錄,也可以不登錄;我不明白他怎麼可能不完全登錄。

如果要啓動一個應用程序時,會被打開,也有這樣做的幾種方法:

  • 添加在「啓動」文件夾的快捷方式,在「開始」菜單
  • 在註冊表中添加一個「運行」鍵(或者在HKLMHKCU取決於你的應用程序做什麼)

您的應用程序,如果它能夠再檢測,如果會議即將關閉,聽一些特定的Windows事件需要s到。

如果您的應用程序是服務,它可以依賴於其他服務,並且會在啓動之前等待它們啓動。

如果你只是想檢測當打開的會話是「準備使用」,恐怕沒有好辦法做到這一點。用戶可以在啓動時啓動一些定製軟件,並且沒有通用的方法來檢測這些軟件何時啓動。

+0

我可以使用LogonUI.exe是否正在運行來解決這個問題,這個過程會在證書正確和用戶登錄時停止,但是在shutdown \ logoff期間,如果有任何shutdown \ logoff阻止程序調用(如未保存的worddoc),將會有兩個選項1)force shutdown \ logoff,2)取消,如果按取消,winlogon啓動LogonUI.exe並使其永久運行。所以我的決策邏輯在這個角落案例中失敗了。我不明白爲什麼LogonUI.exe會像這樣永遠運行。 :( – rplusg 2010-05-25 09:14:05

+0

「聽一些特定的Windows事件」 - >請問你能否詳細說明一下嗎? – rplusg 2010-05-25 09:16:27

+0

@calvin:我現在沒有能力檢查這個,但是看一下'WM_ENDSESSION'消息(也許使用*鉤*?) – ereOn 2010-05-25 09:36:50

相關問題