Python
 Computer >> コンピューター >  >> プログラミング >> Python

Windows起動時にPythonスクリプトを自動実行する2つの方法

PythonスクリプトをWindowsのスタートアップに登録すると、Windowsが起動するタイミングでそのスクリプトが自動的に実行されます。バッチ処理や常駐ツールなどを便利に運用できる手法で、設定方法は主に以下の2通りあります。

方法1:スタートアップフォルダにスクリプトを追加する

Windowsは起動後、スタートアップフォルダ内にあるすべてのアプリケーションやファイルを実行します(ダブルクリックした場合と同等の動作)。この仕組みを利用して、Pythonスクリプトのショートカット、またはスクリプト本体をスタートアップフォルダに配置します。

スタートアップフォルダの場所

C:\Users\現在のユーザー名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\

デフォルトでは AppData フォルダは隠しフォルダになっているため、エクスプローラーの「表示」設定で隠しファイルを表示する必要があります。フォルダが見つかったら、スクリプトのショートカットを貼り付けるか、スクリプト自体をコピーして配置してください。

注意点: .pyファイルの既定のアプリケーションがPython(IDEまたはインタープリター)に設定されていないと、スクリプトが実行されずテキストとして開いてしまうことがあります。事前にファイルの関連付けを確認しておきましょう。

方法2:Windowsレジストリにスクリプトを登録する

この方法では、PythonスクリプトからWindowsレジストリの HKEY_CURRENT_USER キーを直接編集します。このレジストリには、ユーザーがログインした際に自動実行されるプログラムの一覧が格納されています。

注意点: レジストリの編集は、操作を誤るとシステムの動作に支障をきたす可能性があります。作業前には必ずバックアップを取るなど、慎重に進めてください。

レジストリパス

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

レジストリ登録用のPythonコード

# 実行中のスクリプトをレジストリに追加するPythonコード
# Windowsレジストリを編集するためのモジュール
import winreg as reg
import os

def AddToRegistry():
    # Pythonでは __file__ は実行中ファイルのパスを示す
    # 例:デスクトップから実行した場合は
    # c:\users\current_user\desktop となる
    pth = os.path.dirname(os.path.realpath(__file__))
    # 拡張子付きのPythonファイル名
    s_name = "mYscript.py"
    # パスとファイル名を結合
    address = os.path.join(pth, s_name)
    # 変更対象のキーは HKEY_CURRENT_USER
    key = reg.HKEY_CURRENT_USER
    key_value = r"Software\Microsoft\Windows\CurrentVersion\Run"
    # 変更できるようにキーを開く
    open_key = reg.OpenKey(key, key_value, 0, reg.KEY_ALL_ACCESS)
    # 開いたキーに値を書き込む
    reg.SetValueEx(open_key, "any_name", 0, reg.REG_SZ, address)
    # キーを閉じて完了
    reg.CloseKey(open_key)

# ドライバーコード
if __name__ == "__main__":
    AddToRegistry()

このコードを実行すると、スクリプト自身の絶対パスがレジストリのRunキーに登録され、次回以降のWindowsログイン時に自動的に起動するようになります。登録を解除したい場合は、regedit を開き、同じパスから該当の値を削除してください。

  1. 【解決法】Windows 10 起動時の「Windows Script Host」エラーを修正する方法

    Windows 10 の起動時に「Windows Script Host」エラーが表示される場合、その主な原因はウイルスやマルウェアによってシステムに悪意のあるコードが感染していることです。ただし、このエラーは .vbs スクリプトファイルに関連するものであり、以下の手順に従えば比較的簡単に解決できますので、過度に心配する必要はありません。 Windows 10 起動時の Windows Script Host エラーとは 典型的なエラーメッセージは以下のように表示されます。 Windows Script Host Script: C:\users\u510\desktop\Operator

  2. Windows 10が起動時にフリーズ・固まる原因と対処法【10の解決策】

    Windows 10の起動時フリーズ問題を解決:Windows 10へアップグレードした後、さまざまなトラブルに直面することがあります。そのほとんどは簡単に解決できるものですが、なかでも厄介なのが「起動時(ブート時)にWindows 10がフリーズする」という問題です。この症状が出ると、電源ボタンを長押しして強制シャットダウン(ハードリブート)するしかありません。残念ながら、起動時にWindows 10がランダムにクラッシュする明確な原因は特定されていません。 一部のユーザーからは、「Windows 7や8を再インストールすると問題が消えるが、Windows 10を入れ直すと再発する」という