EntryNavi : « pino(いちご) | メイン | Troricho »

CategoryNavi : メイン -> コンピューター -> 開発 -> C/C++

DLL自身のフルパスを取得する

すごく簡単なんですが。
とりあえず自分も罠に引っかかったのでメモです。

GetModuleFileName(...)というAPIを使用します。

とりあえず、ソースです。

BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD dwReason, LPVOID lpReserved)
{
char path[MAX_PATH+1];

GetModuleFileName(hInstDLL,path,MAX_PATH);

return TRUE;
}
GetModuleFileNameの第1引数にDLLのインスタンスを渡すと自分自身のパスを得ることが出来ます。
通常?.EXEの場合は、NULLを指定して自分自身のパスを取得しますが、DLLでNULLを指定すると呼び出し側の.EXEのパスを取得してしまいます。
ここが、ポイントです。気づいたら大したこと無いですけどね。
<Category : C/C++>

検索

Google

サイドフィード

track feed 理ろぐ
人気ブログランキング - 理ろぐ
Powered by
Movable Type 3.34