某些安裝應用程序停止(或似乎停止)正常的Windows引導。計算機啓動後,用戶登錄,然後在其他人(如Windows資源管理器)之前啓動安裝程序。在Windows資源管理器之前啓動應用程序
如何在我自己的程序中複製此行爲?
例如
- OS引導
- 登錄
- 程序運行時,更新等
- 運行的程序的其餘部分(如Windows資源管理器,並不斷在啓動時運行的)
某些安裝應用程序停止(或似乎停止)正常的Windows引導。計算機啓動後,用戶登錄,然後在其他人(如Windows資源管理器)之前啓動安裝程序。在Windows資源管理器之前啓動應用程序
如何在我自己的程序中複製此行爲?
例如
你可能會包裝windows批處理文件.bat
約explorer.exe
@echo off
something.exe
explorer.exe
但不會真正確保它總是explorer.exe的
開始之前你可能改變一些註冊表值來選擇另一個「殼」,而不是探險家爲。 。
如果這是你真正想要的。
如果要在shell啓動之前啓動應用程序,可以將值添加到註冊表中的Userinit
值。在這個關鍵:
HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows NT \ CURRENTVERSION \ Winlogon中
有一個名爲Userinit
值。更改它,以便您的程序在userinit.exe之前運行。例如,外殼/一切初始化之前啓動記事本:
C:\ WINDOWS \ SYSTEM32 \ NOTEPAD.EXE,C:\ WINDOWS \ SYSTEM32 \的userinit.exe
使用逗號分開應該開始的程序。
這適用於Windows XP,Vista和7
您通常會得到「拒絕訪問」,所有的防病毒軟件將禁止該應用程序。 – noober 2015-04-02 11:51:47
根據[tutorial](http://www.tenouk.com/ModuleP1.html),explorer run key在userinit之前設置。然而[這篇古文章](https://support.microsoft.com/en-us/kb/142905)陳述USERINIT負責啓動資源管理器shell。在較新的系統上,這仍然是[案例](https://technet.microsoft.com/en-us/library/cc939862.aspx)。 – 2015-10-20 08:51:38
實際上嘗試過這種方法,但它[在W7上無法工作](https://social.msdn.microsoft.com/Forums/vstudio/en-US/c810e785-894e-4b4f-be72-a12e35397126/running-a-程序在起動時?論壇= windowsgeneraldevelopmentissues&教授爲必填)。但是,這裏有人知道它是否適用於Vista之前? – 2015-12-07 10:04:11
你應該看一看的Windows Task Scheduler。任務可以計劃在用戶(特定或任何)登錄時執行。 Windows開箱即用的UI說明了使用此標準Windows功能可以實現的功能。
另一種解決方案是編寫一個Windows service(.msi Windows Installer實際上是一項服務)。
我不確定你將能夠塊儘管Windows資源管理器...
我還沒有嘗試過,但我認爲這是由註冊表項進行
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup
還有更多的註冊表項 - 看到完整的清單記錄在這裏: Definition of the RunOnce Keys in the Registry
要不是你使用案例我建議開始您的應用程序作爲桌面外殼類似於「vcsjones」提出的解決方案。當程序結束時,您可以撥打explorer.exe
開始加載常規桌面。
你想讓這個應用程序在瀏覽器啓動之前做些什麼? – 2011-02-23 13:36:13
該應用程序將檢查更新,安裝一些文件,提示用戶輸入信息,然後繼續操作系統啓動。 – jSherz 2011-02-23 14:22:34
這是**而不是**這些安裝程序的功能。如果你告訴我們你想要完成的任務,肯定有人會告訴你一個更好的方法,而不是試圖搶佔Windows資源管理器。 – 2011-02-23 14:23:34