web-dev-qa-db-ja.com

無効にされた自動起動プログラムはどこに保存されますか?レジストリのどこかに?

私は、Windowsで実行されるプログラムが(HKEY_LOCAL_MACHINEHKEY_CURRENT_USERの両方の)レジストリの下に格納されていることを知っています。

- /Software/Microsoft/Windows/CurrentVersion/Run
- /Software/Microsoft/Windows/CurrentVersion/RunOnce

しかし、ここでエントリを削除すると(または、msconfigを使用してプログラムを自動起動から無効にすると)、無効なプログラムに関する情報はどこに保存されますか?

私はしないもうWindowsで実行するプログラムを意味しますが、msconfig-> autorun それらは「無効」としてマークされています

8
PolGraphic

以下をご覧ください:

\Software\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run

次の各エントリに対応するエントリが1つあるはずです。

\Software\Microsoft\Windows\CurrentVersion\Run

これはバイナリ値です。「0200 00 00 ...」は有効を意味し、その他の値は無効を意味するようです。

私はWindows 8.1でこれを調査しましたが、レジストリキーはWindows 7と同じであると想定しています。ただし、8.xでは、msconfigではなく「タスクマネージャ」で自動起動プログラムを無効にします。

7
Peter Hahndorf

regeditを使用して手動で削除すると、最初にバックアップを作成しない限り、完全に削除されます。

MSConfigを使用してそれらを無効にした場合、無効にされたレジストリ全体で見つけることができます

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg

および無効スタートアップエントリ1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupfolder

そこにあるサブキーには、無効にされたキーを復元するために必要な情報が含まれています。そこにあるキーは安全に削除できますが、後でMSConfigを使用して復元することはできません。

注: MSConfigには、グループポリシーまたはWindows7タスクスケジューラのアイテムは含まれていません。


1 ユーザーのスタートアップフォルダからのエントリ(スタート→プログラム→スタートアップ)。

4
JC2k8

@ピーターハーンドルフ、それは正しくありません。

Win7にはStartupApprovedキーがありません。代わりにmsconfigを使用します。

HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupfolder

Win 8/10 StartupApprovedには、バイナリ値 "06 00 00 00"を含めることもできます。私はこれらのフラグの完全な列挙を知りませんが、それが有効かどうかを確認する信頼できる方法のようです-FILETIME構造を表す次の8バイトを確認してください。すべてのバイトがゼロの場合-レコードが有効になります。

1
Alex Dragokas