本文へ移動

Windows 11でログイン時にアプリを自動起動する方法|Runキーの登録・引数・解除

Windows 11でログオン時にアプリを自動起動する設定のイメージ Windows設定・操作

PCにログインしたら、いつも使うアプリや作業メモも開いておきたい。そんなときは、レジストリの「Runキー」に起動するアプリを登録しておく方法があります。

今回は、ログイン後にメモ帳で作業メモを開く設定にします。アプリを起動するだけでなく、「このファイルを開く」という指定も一緒に入れて、最後に自動起動をやめる方法まで確認します。

アプリに「Windows起動時に実行する」などの設定があれば、そちらを使うのが手軽です。すでに設定している場合は、Runキーにも重ねて登録しなくて大丈夫です。

まずは自分のログイン時に起動させる

まずは、自分がログインしたときだけ起動する設定から進めます。使うのは HKEY_CURRENT_USER(略してHKCU)のRunキーです。

スタートで cmd を検索し、「コマンド プロンプト」をそのまま開きます。管理者として開く必要はありません。以下はコマンドプロンプト用の書き方なので、PowerShellではなく、こちらで実行してください。

HKCUは、操作しているユーザーの設定です。別の管理者アカウントで実行すると、そちらのユーザーに登録されます。普段使っているユーザーのまま進めましょう。

1. 自動で開きたい作業メモを用意する

まず、作業メモを置くフォルダーを作ります。次のコマンドをコピーして実行してください。すでに同名のフォルダーがあれば、この操作は不要です。

mkdir "%USERPROFILE%\RunKeyExample"
ユーザーフォルダー内にRunKeyExampleを作成するコマンド
作業メモの保存先を作成します。

続けて、次のコマンドでメモ帳を開きます。ファイルを新しく作る確認が出たら、作成する方を選びます。

"%SystemRoot%\System32\notepad.exe" "%USERPROFILE%\RunKeyExample\daily_memo.txt"
メモ帳へdaily_memo.txtのパスを渡して起動するコマンド
メモ帳のパスに続けて、開くファイルを指定しています。

初めて開くときに次の確認が出たら、「はい」を選んでファイルを作成します。

メモ帳でdaily_memo.txtを新しく作成する確認画面
「はい」を選び、daily_memo.txtを作成します。

%USERPROFILE% は自分のユーザーフォルダーのことです。今回の例では C:\Users\wanwano になります。%SystemRoot% はWindowsのフォルダーで、通常は C:\Windows です。コマンドでは、このまま使えます。

先ほど作ったフォルダーへ daily_memo.txt の名前で保存します。中身は空でも構いませんが、短いメモを入れておくと、同じファイルが開いたか確認しやすくなります。

2. 登録する前に確認する

Runキーを編集する前に、バックアップを取っておきます。今回の登録名は DailyMemo にします。まず、同じ名前が使われていないか確認します。

reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v DailyMemo
登録前のreg queryでDailyMemoが見つからない結果
登録前なので、「見つかりませんでした」で問題ありません。

「指定されたレジストリ キーまたは値が見つかりませんでした」と出れば、次へ進んで大丈夫です。今回は、まだ登録されていないことを確認しています。すでに値が表示される場合は上書きせず、別の登録名にして、以降のコマンドも同じ名前に揃えてください。

3. Runキーへ登録する

次のコマンドで、自動起動の設定を追加します。長く見えますが、登録しているのは「メモ帳で作業メモを開く」という起動コマンドです。

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v DailyMemo /t REG_SZ /d "\"%SystemRoot%\System32\notepad.exe\" \"%USERPROFILE%\RunKeyExample\daily_memo.txt\"" /f
HKCUのRunキーへDailyMemoを追加した結果
正常終了のメッセージを確認します。

「この操作を正しく終了しました。」と出たら、登録できたか見てみます。

reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v DailyMemo
HKCUのDailyMemoにメモ帳と作業メモのパスが登録された結果
DailyMemoの行で、種類と2つのパスを確認します。

DailyMemo、REG_SZ、メモ帳と作業メモのパスが表示されていればOKです。REG_SZ は「文字列」の種類を表しています。

ユーザー名が wanwano の場合、登録される内容は次の形です。ほかのユーザーで実行すれば、そのユーザーのパスになります。

"C:\Windows\System32\notepad.exe" "C:\Users\wanwano\RunKeyExample\daily_memo.txt"

%USERPROFILE% などの部分は、コマンドを実行したときに実際のパスへ置き換わります。確認結果に wanwano など、自分のユーザー名が表示されていて問題ありません。

引数は「アプリのパス」の後ろに書く

引数というと少し難しく聞こえますが、今回はメモ帳へ渡す「開いてほしいファイル」の指定です。起動コマンドを分けると、こうなります。

部分今回の指定
起動するアプリ"C:\Windows\System32\notepad.exe"
引数(開くファイル)"C:\Users\wanwano\RunKeyExample\daily_memo.txt"

アプリのパスの後ろに半角スペースを入れ、開きたいファイルのパスを続けます。パスはそれぞれ " で囲みます。メモ帳だけを開きたいなら、後ろのファイル指定は不要です。

別のアプリに置き換えるなら、まずは起動コマンドを手動で試してからRunキーへ登録すると確認しやすくなります。アプリのパスは、ショートカットの「プロパティ」→「リンク先」で分かることがあります。使える引数はアプリによって違うので、そのアプリのヘルプも確認してください。

reg add にある \" は、引用符を登録するための書き方です。後半のレジストリエディターで直接入力するときは、通常の " を使います。

4. ログインし直して試す

作業中のファイルを保存し、メモ帳を閉じてからサインアウトします。同じユーザーでログインし直して、メモ帳と作業メモが自動で開くか確認してください。

デスクトップ上でdaily_memo.txtを開いたメモ帳
メモ帳が開き、タブにdaily_memo.txtが表示されています。
デスクトップ上でdaily_memo.txtを開いたメモ帳
拡大:メモ帳が開き、タブにdaily_memo.txtが表示されています。

Runキーが実行されるのは、Windowsにログインした後です。ログイン画面ではまだ起動しません。また、起動まで少し待つこともあります。

確認前にメモ帳を閉じておくのは、Windowsが前回のアプリを開き直す機能と区別するためです。目的のメモが表示されたところまで確認できれば、ひとまず完了です。

起動しないときの確認順

  1. 手動の起動コマンドを試す:手順1のコマンドで開けるか確認します。開けなければ、ファイルの保存先やアプリのパスを見直します。
  2. Runキーの内容を見る:手順3の reg query で、パス・引数・引用符が保存されているか確認します。
  3. 無効化されていないか見る:Ctrl + Shift + Esc でタスクマネージャーを開き、「スタートアップ アプリ」で該当する項目の状態を確認します。登録名とアプリの表示名が一致しない場合もあります。
  4. 同じユーザーで確認する:HKCUへ追加したユーザーでサインインしているか確認します。

スタートアップの状態確認は、スタートアップアプリの無効化と戻し方にも画面付きでまとめています。

自動起動の登録を解除する

自動で開かなくてよくなったら、次のコマンドで DailyMemo の登録を削除します。メモ帳や作業メモのファイルは消えません。消すのは今回追加した値だけで、Runキー全体ではありません。

reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v DailyMemo /f
HKCUからDailyMemoを削除した結果
削除するのはDailyMemoの値だけです。

もう一度確認してみます。

reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v DailyMemo
削除後にDailyMemoが見つからないことを確認した結果
今度は「見つかりませんでした」が解除できた目印です。

今度は「見つかりませんでした」と出れば、解除できています。メモ帳を閉じてログインし直し、自動で開かなくなったことも確認してください。まだ起動する場合は、ほかのスタートアップ設定が残っていないか見てみます。

レジストリエディターで登録する場合

画面を見ながら設定したい場合は、レジストリエディターでも同じ登録ができます。コマンドで登録済みなら、こちらは読み飛ばして大丈夫です。

① レジストリエディターを開く
Win + R を押し、regedit と入力して「OK」をクリックします。

ファイル名を指定して実行でregeditを入力した画面
regeditと入力し、「OK」をクリックします。

別の管理者アカウントの入力を求められる場合は、前半の通常権限のコマンドで登録してください。別ユーザーのHKCUを編集するのを避けられます。

② Runキーを開く
上部のアドレスバーへ次のパスを貼り付け、Enterを押します。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
レジストリエディターでHKCUのRunキーを開いた全体画面
上部のパスと、左側で選択されているRunを確認します。

③ 文字列値を作る
右側の空いている場所を右クリックし、「新規」→「文字列値」を選びます。

Runキーの右側で新規の文字列値を選ぶ画面
「新規」から「文字列値」を選びます。

名前を DailyMemo に変更します。同名の値がすでにある場合は、上書きせず内容を確認してください。

新しい文字列値の名前をDailyMemoに変更した画面
作成した値の名前をDailyMemoにします。

④ 起動するアプリとファイルを指定する
DailyMemo をダブルクリックし、「値のデータ」に次の内容を入力します。wanwano は自分のユーザー名に合わせてください。

"C:\Windows\System32\notepad.exe" "C:\Users\wanwano\RunKeyExample\daily_memo.txt"
DailyMemoの値のデータに起動コマンドを入力する画面
「値のデータ」に入力し、「OK」で保存します。

「OK」で保存すると、右側の一覧に登録内容が表示されます。メモ帳と作業メモ、両方のパスが入っていることを確認します。

DailyMemoの文字列値と起動コマンドが表示された一覧
保存後の一覧で、メモ帳とdaily_memo.txtのパスを確認します。

ここまでできたらメモ帳を閉じ、ログインし直して自動で開くか試します。確認の流れは、前半の「4. ログインし直して試す」と同じです。

自動起動をやめるとき
右側の DailyMemo を右クリックして「削除」を選び、確認画面で値の名前を確かめて削除します。左側のRunキーは削除しません。

DailyMemoを右クリックして削除を選ぶ画面
右側のDailyMemoを選び、「削除」をクリックします。

一覧から DailyMemo がなくなれば、登録は解除されています。

DailyMemoを削除した後のRunキーの一覧
DailyMemoが一覧からなくなっています。ほかの値は残します。

同じPCのほかのユーザーにも設定したい場合

ここからは、同じPCを使うほかのユーザーにも設定したい場合の補足です。自分だけで使うなら、ここまでの設定で十分です。全ユーザー向けには HKEY_LOCAL_MACHINE(HKLM)のRunキーを使います。

この場合は、自分のユーザーフォルダーではなく、全員が開ける場所へメモを置きます。例えば C:\Users\Public\Documents\daily_memo.txt です。共有してよい内容のメモを用意し、使うユーザーから開けるか確認しておきます。

以下は、その共有メモを開く例です。HKCUにも登録している場合は、先ほどの解除手順でそちらを削除してから進めます。今度はコマンドプロンプトを「管理者として実行」し、同じ名前の登録がないか確認します。

検索結果からコマンドプロンプトを管理者として実行する画面
HKLMへの登録では「管理者として実行」を選びます。
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v DailyMemo
管理者のコマンドプロンプトでHKLMのDailyMemoを確認した結果
HKLM側に同名の登録がないことを確認します。

値が見つからなければ、次のコマンドで登録します。すでに値がある場合は上書きしないでください。

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v DailyMemo /t REG_SZ /d "\"%SystemRoot%\System32\notepad.exe\" \"C:\Users\Public\Documents\daily_memo.txt\"" /f
HKLMのRunキーへ共有メモの自動起動を追加した結果
共有メモのパスで登録し、正常終了を確認します。

登録したパスを確認します。

reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v DailyMemo
HKLMのDailyMemoにPublic Documentsのパスが登録された結果
共有メモの保存先がPublic\Documentsになっていることを確認します。

登録後は、使うユーザーで一度サインアウトし、ログインし直して確認します。HKLMでも、Runキーの実行タイミングは「PCの起動時」ではなく「ユーザーのログイン時」です。HKCUとの違いは、自分だけが対象か、PCの全ユーザーが対象かという点です。

やめるときも、管理者のコマンドプロンプトで操作します。削除するのは、今回登録したHKLM側の DailyMemo です。

reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v DailyMemo /f
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v DailyMemo
HKLMからDailyMemoを削除して再照会した結果
削除後の確認で、DailyMemoが見つからない状態です。

削除後の確認で「見つかりませんでした」と出れば、HKLM側の登録も解除できています。

スタートアップフォルダーとの使い分け

自動起動させたいだけなら、スタートアップフォルダーにショートカットを置く方法もあります。Win + R で shell:startup を実行すると、自分のスタートアップフォルダーが開きます。

ファイル名を指定して実行でshell startupを入力した画面
shell:startupで、自分のスタートアップフォルダーを開きます。

このフォルダーに、起動したいアプリのショートカットを置きます。アプリ本体を移動する必要はありません。

エクスプローラーで開いたスタートアップフォルダー
このフォルダーへ、起動したいアプリのショートカットを置きます。

ショートカットにも引数は付けられるので、「ファイルも一緒に開く」ためにRunキーが必須なわけではありません。画面で管理したいならショートカット、コマンドで登録や削除を揃えたいならRunキー、という選び方でよいと思います。

「ログインしてから数分後に開きたい」など、タイミングも指定したい場合はタスクスケジューラが候補になります。

参考資料