プロセスのファイル名をプロセスハンドルから取得するにはどうすればよいですか?私はWin32 C++(Visual C++ Express Edition)を使用しています。Win32API - プロセスハンドルからプロセスのファイル名を取得する方法?
ありがとうございました。
プロセスのファイル名をプロセスハンドルから取得するにはどうすればよいですか?私はWin32 C++(Visual C++ Express Edition)を使用しています。Win32API - プロセスハンドルからプロセスのファイル名を取得する方法?
ありがとうございました。
GetModuleFileNameEx
を呼び出します。 EXEファイルの名前を取得する2番目のパラメータの使用NULL
DWORD WINAPI GetModuleFileNameEx(
__in HANDLE hProcess,
__in_opt HMODULE hModule,
__out LPTSTR lpFilename,
__in DWORD nSize
);
は、Windows 2000のように利用できます。
GetProcessImageFileName
functionは、Vistaの場合はQueryFullProcessImageName
、2k8以降の場合は、指定されたプロセスハンドル(WinXP、Server 2k3以降)の実行可能ファイルの名前を取得します。
** 'GetProcessImageFileName'関数は、ドライブ文字ではなくデバイス形式のパスを返します。** - それは厄介です。 'GetModuleFileNameEx'は正しい方法です:) – CodeAngry
ありがとう、それは私が必要としたものです。 – user145586
これは32ビットプロセスで32ビットプロセスでのみ動作し、それ以外の場合はエラーが発生します。それほど必要がない場合は、GetProcessImageFileNameを使って行います。 – Quonux