我已閱讀此post,並且在給定答案方面取得的成功很少。重要的是要從Windows服務啓動GUI應用程序
使用WTSEnumerateSessions說,找到合適的桌面
但我得到的是在WTS_SESSION_INFO
結構中的站名。我看到的名字(例如「console」,「service」)與「Winsta0 \ default」這樣的站名/桌面名稱完全不同。答案繼續到狀態
然後CreateProcessAsUser啓動該桌面上,我不認爲它指的是應用程序(你通過它的桌面的句柄作爲STARTUPINFO結構的一部分)
一個HANDLE
變量爲桌面,因爲STARTUPINFO
沒有這個成員。我認爲它指的是lpDesktop
成員,它允許您指定站/桌面名稱。使用由WTSEnumerateSessions
返回的名稱未能啓動任何可見的UI,而「Winsta0 \ default」卻沒有。
我做錯了什麼?
讓我知道如果我的答案幫助你。 – manuell