diff --git a/src/futils.cpp b/src/futils.cpp index 18e4b9f1..a30acd98 100644 --- a/src/futils.cpp +++ b/src/futils.cpp @@ -464,9 +464,14 @@ namespace Exiv2 { { std::string ret("unknown"); #if defined(WIN32) - TCHAR filename[MAX_PATH]; - if ( GetModuleFileName( (HMODULE)"", filename, MAX_PATH ) != 0 ) { - ret = filename; + HANDLE processHandle = NULL; + processHandle = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, GetCurrentProcessId()); + if (processHandle != NULL) { + TCHAR filename[MAX_PATH]; + if (GetModuleFileNameEx(processHandle, NULL, filename, MAX_PATH) != 0) { + ret = filename; + } + CloseHandle(processHandle); } #elif defined(__APPLE__) const int pid = getpid();