我到處搜索並試用了所有內容,我開始認爲這是不可能的。 我有一個服務運行在會話0(win7)作爲SYSTEM.I需要啓動一個外部應用程序。如果我簡單地啓動外部應用程序作爲SYSTEM,應用程序啓動,我可以看到GUI(如果我點擊使用UI0Detect會話0)。除了能夠看到它之外,啓動應用程序的服務實際上可以拍攝GUI的屏幕截圖並將其發送回我的服務器。 - 在這一點上都很好。試圖在會話0中顯示GUI
問題 - 有些情況下外部應用程序不允許在SYSTEM環境下運行。在這些情況下,我必須以不同的用戶身份啓動。我有另一個服務作爲Session 0中的實際用戶運行。然後,以這個其他用戶的身份啓動外部應用程序。外部應用程序在會話0中啓動,並指定WinSta0 \ Default以確保應用程序GUI在我的SYSTEM服務可以看到的同一臺桌面上啓動。當這種情況發生時,UI0Detect彈出,給我的印象是我會點擊並看到我的窗口。當我回到會話0或當我的服務嘗試一個屏幕截圖時,只有一個小黑框。這幾乎就像SYSTEM帳戶可以在會話0中渲染窗口 - 這是真的嗎?任何人都知道在會話0中運行的用戶帳戶是否能夠呈現GUI?
我不在尋找關於如何從會話0啓動應用程序到活動用戶桌面的代碼。這是有據可查的。我需要知道的是如何取消逆轉(排序)。我需要從SYSTEM以外的帳戶在會話0中啓動GUI。
你爲什麼要這麼做?服務可以在沒有可視化桌面的情況下運行 - 在這種情況下,任何視覺都不會出現,用戶也無法與UI進行交互。在這種情況下你會怎麼做? – 2012-07-19 18:42:07