如何儘早啟動自動運行程序?

如何儘早啟動自動運行程序?

我們希望在登入過程的早期就運行軟體。該軟體修改或隱藏了用戶桌面的某些元素,用戶永遠不應該看到未修改的桌面。

現在,在 Windows 7 上,只需透過自動啟動來啟動軟體就可以了;顯示桌面時軟體已處於作用中狀態。

但對於 Windows 10,該軟體會在桌面首次顯示後幾秒鐘啟動,因此對於我們的目的來說為時已晚。

有沒有辦法提前啟動軟體或延遲桌面?

PS:我們正在做類似資訊亭的嵌入式機器,所以我們真的很想這麼做。

答案1

這個計算器問題,最好的選擇是將程式作為服務運行。一種選擇是使用國家安全局。答案中的相關部分:

來源:了解啟動過程 - Windows 7 教學課程

Windows 7 的正常啟動順序是:

  1. 開機自我檢測 (POST) 階段
  2. 初始啟動階段
  3. Windows 啟動管理員階段
  4. Windows 開機載入程式階段
  5. 核心載入階段
  6. 登入階段

新創公司可以採取的不同路徑的高級概述

核心載入階段 Windows Boot Loader 負責將 Windows 核心 ( Ntoskrnl.exe) 和 HAL 載入到記憶體中。核心和 HAL 一起初始化一組稱為 Windows 執行程式的軟體功能。 Windows 執行程式處理儲存在登錄中的設定資訊 HKLM\SYSTEM\CurrentControlSet並啟動服務和驅動程式。以下部分提供有關內核載入階段的更多詳細資訊。

登入階段

Windows 子系統啟動Winlogon.exe,這是一項允許您登入和登出的系統服務。Winlogon.exe然後執行以下操作:

  • 啟動服務子系統 ( Services.exe),也稱為 SCM。 SCM 初始化登錄項目 Start 在登錄子項目中指定為 Autoload 的服務 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Servicename
  • 啟動本地安全機構 (LSA) 進程 ( Lsass.exe)。
  • 分析開始登入提示時的Ctrl+ Alt+Delete組合鍵(如果電腦是 AD DS 網域的一部分)。

登入使用者介面 (LogonUI) 功能和憑證提供者(可以是標準憑證提供者或第三方憑證提供者)收集使用者名稱和密碼(或其他憑證),並將此資訊安全地傳遞給 LSA 進行驗證。如果使用者提供了有效的憑證,則使用預設的 Kerberos V 5 驗證協定或 Windows NT LAN Manager (NTLM) 授予存取權限。

Winlogon 初始化安全性和驗證功能,而 PnP 初始化自動載入服務和驅動程式。使用者登入後,登錄項目LastKnownGood (位於HKLM\SYSTEM\Select)引用的控制集將使用子項目中的內容進行更新 CurrentControlSet。預設情況下,Winlogon 然後啟動 Userinit.exeWindows 資源管理器 shell。然後 Userinit 可能會啟動其他進程,包括:

  • 群組原則設定生效應用於使用者和電腦的群組原則設定生效。
  • 啟動程式運行當群組原則設定未覆蓋時,Windows 啟動以下登錄子項目和檔案系統資料夾中引用的登入腳本、啟動程式和服務:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
    SystemDrive\Documents and Settings\All Users\Start Menu\Programs\Startup
    SystemDrive\Documents and Settings\username\Start Menu\Programs\Startup
    

多個應用程式可能會配置為在安裝 Windows 後預設啟動,其中包括 Windows Defender。電腦製造商或 IT 部門可能會配置其他啟動應用程式。

使用者成功登入電腦後,Windows 啟動才完成。如果在登入階段啟動失敗,則表示配置為自動啟動的服務或應用程式出現問題。

相關內容