ログイン プロセスの非常に早い段階で実行したいソフトウェアがあります。このソフトウェアはユーザーのデスクトップの一部の要素を変更または非表示にするため、変更されていないデスクトップがユーザーに表示されてはいけません。
現在、Windows 7 では、自動起動でソフトウェアを起動するだけで正常に動作し、デスクトップが表示されているときにソフトウェアはすでにアクティブになっています。
ただし、Windows 10 の場合、デスクトップが最初に表示されてから数秒後にソフトウェアが起動されるため、私たちの目的には遅すぎます。
ソフトウェアを早く起動したり、デスクトップを遅らせたりする方法はありますか?
PS: 私たちはキオスクのような組み込みマシンを開発しているので、ぜひそれを実現したいと思っています。
答え1
からこのスタックオーバーフローの質問プログラムをサービスとして実行するのが最善策です。1つの選択肢は、NSSM回答の関連部分:
ソース:起動プロセスを理解する - Windows 7 チュートリアル
Windows 7 の通常の起動シーケンスは次のとおりです。
- 電源投入時のセルフテスト (POST) フェーズ
- 初期起動フェーズ
- Windows ブート マネージャー フェーズ
- Windows ブートローダーフェーズ
- カーネル読み込みフェーズ
- ログオンフェーズ
カーネル読み込みフェーズ Windows ブート ローダーは、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.exe
、Windows エクスプローラー シェルが起動します。その後、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 Defender など、Windows をインストールした後にデフォルトで起動するように構成されているアプリケーションがいくつかあります。コンピューターの製造元または IT 部門が他のスタートアップ アプリケーションを構成する場合もあります。
Windows の起動は、ユーザーがコンピューターに正常にログオンするまで完了しません。ログオン フェーズ中に起動が失敗する場合は、自動的に起動するように構成されたサービスまたはアプリケーションに問題があります。