GetModuleFileNameW

指定されたモジュールを含むファイルの完全修飾パスを取得する。モジュールは現在のプロセスによってロードされていなければならない。(Unicode)

GetModuleFileNameW hModule, lpFilename, nSize

hModule : [intptr] パスを取得する対象のロード済みモジュールへのハンドル。NULL の場合は現在のプロセスの実行ファイルのパスを取得する。LOAD_LIBRARY_AS_DATAFILE でロードされたモジュールは取得できない。
lpFilename : [wstr] モジュールの完全修飾パスを受け取るバッファへのポインタ。パス長が nSize より短ければ NULL 終端で返され、長ければ nSize 文字(終端 NULL 含む)に切り詰められる。
nSize : [int] lpFilename バッファのサイズ(TCHAR 単位)。

(プラグイン / モジュール : kernel32.dll)

解説

指定されたモジュールを含むファイルの完全修飾パスを取得する。モジュールは現在のプロセスによってロードされていなければならない。(Unicode)

[戻り値]
関数が成功した場合、戻り値は終端 NULL を含まないバッファにコピーされた文字列の長さ。バッファが小さい場合、文字列は nSize
文字(終端 NULL を含む)に切り詰められ、関数は nSize を返し、最後のエラーを
ERROR_INSUFFICIENT_BUFFER に設定する。nSize が 0 なら 0 を返す。失敗時は 0。

[備考]
DLL が 2 つのプロセスにロードされている場合、ファイル名の大文字小文字が異なる場合がある。グローバル変数 _pgmptr
は実行ファイルのフルパスで自動的に初期化される。

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs