GetModuleFileName(A)

指定されたモジュールを含む実行可能ファイルの、フルパス名とファイル名を取得します。

DWORD GetModuleFileNameA(
    HMODULE  hModule,    // モジュールハンドル
    PTSTR    pFilename,  // バッファアドレス
    DWORD    nSize       // バッファのサイズ
);

KERNEL32.DLL

引数

hModule

モジュールのハンドルを指定します。このモジュールを含む実行可能ファイルのファイル名がフルパスで取得されます。

0 (NULL) を指定すると、呼び出し側プロセスを作成するために使われたモジュールのパスを取得します。

pFilename

モジュールのファイル名を格納するためのバッファのアドレスを指定します。

nSize

pFilename パラメータで示されるバッファのサイズをバイト単位(Unicode 版の場合は文字数)で指定します。サイズが足りなかった場合、超過分の文字は切り捨てられます。

戻り値

成功した場合はバッファにコピーされた文字列の長さがバイト単位(Unicode 版の場合は文字数)で返ります。

失敗した場合は 0 が返ります。拡張エラー情報を取得するには、 GetLastError 関数を使います。

解説

Windows 95/98/Me: アプリケーション内部のバージョンが4.00以上のとき、かつ、長いファイル名が利用可能なときは、長いファイル名を取得します。そうでない場合は、DOS形式(8.3形式)のファイル名を取得します。

対応情報

Windows 95 以降 / Windows NT 3.1 以降