Win32API 現在実行中の実行ファイルのフルパスを取得する GetModuleFileName

現在実行中の実行ファイルのフルパスを取得するには、GetModuleFileName関数を用いる。


GetModuleFileNameのプロトタイプ

DWORD GetModuleFileName(
  HMODULE hModule,    // モジュールのハンドル
  LPTSTR lpFilename,  // モジュールのファイル名
  DWORD nSize         // バッファのサイズ
);

第一引数のhModuleにNULLを指定すると、現在実行中の実行ファイルのフルパスを取得することができる。


使用例

#include <windows.h>
#include <stdio.h>

int main()
{
	char szModulePath[MAX_PATH];

	GetModuleFileNameA(NULL, 
		szModulePath, 
		sizeof(szModulePath)/sizeof(szModulePath[0]));

	puts(szModulePath);

	return 0;
}


参考
http://msdn.microsoft.com/ja-jp/library/cc429127.aspx