プラットフォーム SDK
GetModuleFileName
指定されたモジュールを含む実行ファイルの、フルパス名とファイル名を取得します。
Windows 95/98:アプリケーションのバージョン番号が 4.00 以上で、長いファイル名が利用可能な場合は、長いファイル名を取得します。それ以外の場合は、8.3 形式のファイル名を取得します。
DWORD GetModuleFileName(
HMODULE hModule, // モジュールのハンドル
LPTSTR lpFilename, // モジュールのファイル名
DWORD nSize // バッファのサイズ
);
パラメータ
- hModule
- [入力]モジュールのハンドルを指定します。このモジュールを含む実行可能ファイルのパスが取得されます。NULL を指定すると、現在のプロセスを作成するために使われたファイルのパスを取得します。
- lpFilename
- [出力]指定されたモジュールのパス名とファイル名を受け取るバッファへのポインタを指定します。
- nSize
- [入力]lpFilename バッファのサイズを、TCHAR 単位で指定します。パス名とファイル名がこのバッファより大きかった場合、この関数は文字列を切り捨てます。
戻り値
関数が成功すると、バッファへコピーされた文字列の長さが、TCHAR 単位で返ります。
関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
解説
1 つの DLL が 2 つのプロセスでロードされた場合、1 つのプロセスで取得されるファイル名は、もう 1 つのプロセスで取得されるファイル名と異なっていることがあります。
対応情報
Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダーファイル:Winbase.h 内で宣言、Windows.h をインクルード
インポートライブラリ:Kernel32.lib を使用
Unicode:Windows NT/2000 は Unicode 版と ANSI 版を実装
参照
GetModuleHandle, LoadLibrary