Problems with GetFileVersionInfo[Size]()
Hi, The Shockwave ActiveX control I'm loading tries to read the VERSIONINFO resource from my winelib app. AFAICS it subsequently crashes because that fails. Anyway, there seems to be a problem: char path[PATH_MAX]; GetModuleFileName(inst, path, sizeof(path)); kdDebug() << "GetModuleFileName: " << path << endl; DWORD dummy; kdDebug() << "GetFileVersionInfoSize: " << GetFileVersionInfoSize(path, &dummy) << endl; kdDebug() << "GetLastError: " << GetLastError() << endl; outputs activexproxy: GetModuleFileName: Y:\src\kde\build\kdenonbeta\activexproxy\proxy\activexproxy activexproxy: GetFileVersionInfoSize: 0 activexproxy: GetLastError: 0 which means it obviously doesn't find the resource. (btw, why is GetLastError() 0 here?) However, this code suceeds (inst is the HINSTANCE passed to WinMain()): HRSRC ver = FindResource(inst, MAKEINTRESOURCE(VS_VERSION_INFO), MAKEINTRESOURCE(VS_FILE_INFO)); kdDebug() << "FindResource: " << ver << endl; int size = SizeofResource(inst, ver); kdDebug() << "SizeofResource:" << size << endl; HGLOBAL mem = LoadResource(inst, ver); void *buf, *block = LockResource(mem); UINT len; VerQueryValue(block, "StringFileInfo\\040904b0\\FileDescription", &buf, &len); kdDebug() << "Description: " << reinterpret_cast<WCHAR *>(buf) << endl; FreeResource(mem); the output is: activexproxy: FindResource: 1078760168 activexproxy: SizeofResource:608 activexproxy: Description: ActiveX-Proxy for Konqueror So basically the code GetFileInfoVersion[Size]() use to load a library fail if the given path is the winelib app (the symlink to wine) itself :( Thanks, -Malte -- Wars don't determine who's right, only who's left.
participants (1)
-
Malte.Starostik@t-online.de