PythonのReadProcessMemoryでエラーコード5を解決する方法
エラーコード 5 は拒否されたアクセスのエラーです。このエラーは、現在のユーザーに特定のメモリのメモリ情報を読み取るのに十分な権限がないことが原因で発生します。解決します。
- Pythonスクリプトを管理者として実行する: Pythonスクリプトを右クリックし、「管理者として実行」を選択する。
- Pythonインタープリタを管理者権限で実行:Pythonインタープリタのショートカットを右クリックして「プロパティ」を選択、「互換性」タブに切り替え、「このプログラムを管理者として実行する」にチェック。
- レジストリを変更:レジストリエディタ(regedit)を開き、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Systemのパスを見つけ、EnableLUAキーの値を0に変更します。
- 他の方法でプロセスメモリを読み取る:上記のメソッドが機能しない場合は、ctypesライブラリのReadProcessMemory関数やサードパーティライブラリのpywin32のReadProcessMemory関数など、他のライブラリやメソッドを使用してプロセスメモリを読み取ることを試すことができます。
管理者権限が必要な操作があるので、十分な権限があることを確認しておいてください。また、一部のプロセスは保護されており、管理者として実行してもメモリが取得できない場合があります。