[英]Start application as logged user from NSIS installer launched by system service
我正在按以下順序(除其他事項外)在NSIS安裝程序上工作:
一切都很好。
現在,服務要求安裝程序啟動。 結束於資源管理器,已安裝的程序作為SYSTEM啟動。
如何修改安裝程序以使程序以當前登錄用戶身份運行?
我知道是否不是第2-3步,我可以使用Explorer啟動我的可執行文件(這可行!),但這不符合我的需要,因為我還需要以當前用戶身份停止並啟動explorer.exe。
知道如何實現嗎?
如果由於要安裝Shell擴展而重新啟動Explorer,則這是一個有缺陷的想法。 Shell擴展可以隨時在任何進程中加載(GetOpenFilename()等)。 您應該重命名正在使用的文件,並稍后使用FILE_FLAG_DELETE_ON_CLOSE和/或MoveFileEx將其刪除。
如果由於其他原因(為什么?)重新啟動Explorer,最好使用OpenProcessToken中的令牌(如果無法獲得Explorers令牌,則使用WTSQueryUserToken)重新啟動它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.