RUN レジストリのエントリが Windows 設定によって上書きされる仕組み

RUN レジストリのエントリが Windows 設定によって上書きされる仕組み

私は最近、物事を運営するさまざまな方法を試しています起動/ログオン、そして、よく分からないものを見つけました。

AutorunsエントリをHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run次のように扱います意思ログオン時に実行します。

ただし、設定 GUI にアクセスして に移動し、Startup appsそこで無効にすることはできますが、レジストリから消える (または移動される) ことはありません。

一方、 を介してこれらを無効にするとAutoruns、それらは単に という名前のサブキーに移動されAutorunsDisabled(設定startup appsリストから消えます)、レジストリ エントリは単に潜在的なスタートアップ コマンドのリストであるように思われ、それらを有効または無効にするものがどこかにあるはずです。

これらをプログラムで追加または削除できるように、これらがどのように機能するかを学習しようとしているのですが、設定 GUI は、どのエントリを実行し、どのエントリを無視するかをコンピューターに知らせるために、内部で何を行っているのでしょうか。

答え1

スタートアップ タブから項目を有効または無効にしたときのタスク マネージャーの実行をトレースしたところ、次のことがわかりました。

タスク マネージャーは、Autoruns とは別のメカニズムでこの魔法を実行します。次のレジストリ キーの値を変更します。

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

実行されるアプリケーションごとに、このレジストリ キーの下に、アプリケーションの名前と同じ名前のエントリがあり、その値は次のいずれかになります。

  • エントリーは有効: 02 00 00 00 00 00 00 00 00 00 00 00(16進数)
  • エントリーは無効: 63 60 60 60 62 F9 8C 76 C5 3B D9 91(16 進数) または、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 設定をいろいろ試してみたところ、値を次の 4 つに絞り込めるようです。

01 - 起動が無効、管理者権限を持つユーザーは有効にできる

02 - スタートアップが有効、管理者権限を持つユーザーは無効にできる

08 - スタートアップが有効、ユーザーは無効にできない(グレー表示)

09 - 起動が無効になっており、ユーザーは有効にできません (グレー表示)

2 桁の数字だけで動作します。99 は 09 と同じように動作します。他にも異なる動作をするものがあるかもしれませんが、私が気にしたのはこの 4 桁だけです。

関連情報