
我最近一直在嘗試不同的運行方式啟動/登入,我發現了一些我不太明白的東西。
Autoruns
將條目視為HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
以下內容將要登入時運行。
但是,您可以轉到“設定 GUI”,轉到Startup apps
,然後在那裡停用它們,但它們不會從註冊表中消失(或移動)。
同時,如果您透過停用它們Autoruns
,它們只是被移動到名為的子項目AutorunsDisabled
(並且它們從設定startup apps
列表中消失),因此註冊表項似乎只是潛在啟動命令的列表,並且應該有一些東西可以啟用或停用這些。
由於我試圖了解它們是如何工作的,以便我可以透過程式設計方式新增或刪除它們,設定 GUI 在幕後做了什麼,讓電腦知道要執行哪些條目以及要忽略哪些條目?
答案1
我追蹤了從「啟動」標籤啟用和停用某個專案時任務管理器的執行情況,並發現了以下內容。
任務管理器透過自動運作之外的另一種機制來實現這一魔力。它會變更以下註冊表項下的值:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run
對於要運行的每個應用程序,您將在此註冊表項下找到一個條目,其名稱是應用程式的名稱,其值為以下之一:
- 條目是已啟用:(
02 00 00 00 00 00 00 00 00 00 00 00
十六進位) - 條目是殘障人士:(
63 60 60 60 62 F9 8C 76 C5 3B D9 91
十六進位)或O3 00 00 00 d4 0d 43 8d c8 3b d9 01
每次停用它時該值都不同。
任務管理器透過修改項目的值來發揮其魔力。
現在我知道要搜尋什麼了,我找到了這篇文章 登錄:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run 說的是:
登錄:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run
下面的值
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run
可用於啟用或停用 下的對應值HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
。值 02 00 00 … 或 06 00 00 … 似乎表示該條目已啟用,所有(?)其他值表示該條目已停用。 (可能在停用的情況下,該值是禁用的時間戳記)。
可以在taskmgr.exe 的啟動標籤中修改這些值。
另請參閱
所有使用者對應的按鍵是:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run
。
答案2
透過嘗試 SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run 設置,看起來這些值可以縮小到四個不同的值:
01 - 啟動已停用,具有管理員權限的使用者可以啟用
02 - 啟動已啟用,具有管理員權限的使用者可以停用
08 - 啟動已啟用,使用者無法停用(灰顯示)
09 - 啟動已停用,使用者無法啟用(灰顯)
它僅適用於兩位數字。 99 的工作方式與 09 等相同。