1*cdf0e10cSrcweir #include "macros.h" 2*cdf0e10cSrcweir #ifdef _MSC_VER 3*cdf0e10cSrcweir #pragma warning(push,1) // disable warnings within system headers 4*cdf0e10cSrcweir #endif 5*cdf0e10cSrcweir #include <psapi.h> 6*cdf0e10cSrcweir #ifdef _MSC_VER 7*cdf0e10cSrcweir #pragma warning(pop) 8*cdf0e10cSrcweir #endif 9*cdf0e10cSrcweir 10*cdf0e10cSrcweir IMPLEMENT_THUNK( psapi, WINDOWS, DWORD, WINAPI, GetModuleFileNameExW, (HANDLE hProcess, HMODULE hModule, LPWSTR lpFileNameW, DWORD nSize ) ) 11*cdf0e10cSrcweir { 12*cdf0e10cSrcweir AUTO_STR( lpFileName, 2 * nSize ); 13*cdf0e10cSrcweir 14*cdf0e10cSrcweir if ( GetModuleFileNameExA( hProcess, hModule, lpFileNameA, 2 * nSize ) ) 15*cdf0e10cSrcweir return (DWORD) STR2WSTR( lpFileName, nSize ); 16*cdf0e10cSrcweir else 17*cdf0e10cSrcweir return 0; 18*cdf0e10cSrcweir }