Problem mit FindResource, Ergebnis immer NULL !???
-
Hallo, ich möchte gerne einige Felder auf meine GUI in verschiedene Sprachen ändern. Dabei wollte ich die FindResource-Funktion benutzen, laut msdn sollte sie den Zweck erfüllen, ABER ich bekomme immer NULL zurück...hmm ?
HRSRC hResLoad; // handle to loaded resource HANDLE hExe; // handle to existing .EXE file HRSRC hRes; // handle/ptr. to res. info. in hExe HANDLE hUpdateRes; // update resource handle char *lpResLock; // pointer to resource data BOOL result; // Load the .EXE file that contains the dialog box you want to copy. hExe = LoadLibrary("hand.exe"); if (hExe == NULL) { ErrorHandler("Could not load exe."); } // Locate the dialog box resource in the .EXE file. hRes = FindResource(hExe, "IDD_ABOUTBOX", RT_DIALOG); if (hRes == NULL) { Messagebox("Could not locate dialog box."); } // Load the dialog box into global memory. hResLoad = LoadResource(hExe, hRes); if (hResLoad == NULL) { Messagebox("Could not load dialog box."); } // Lock the dialog box into global memory. lpResLock = LockResource(hResLoad); if (lpResLock == NULL) { Messagebox("Could not lock dialog box."); } // Open the file to which you want to add the dialog box resource. hUpdateRes = BeginUpdateResource("foot.exe", FALSE); if (hUpdateRes == NULL) { Messagebox("Could not open file for writing."); } // Add the dialog box resource to the update list. result = UpdateResource(hUpdateRes, // update resource handle RT_DIALOG, // change dialog box resource "AboutBox", // dialog box name MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), // neutral language lpResLock, // ptr to resource info SizeofResource(hExe, hRes)); // size of resource info. if (result == FALSE) { Messagebox("Could not add resource."); } // Write changes to FOOT.EXE and then close it. if (!EndUpdateResource(hUpdateRes, FALSE)) { Messagebox("Could not write changes to file."); } // Clean up. if (!FreeLibrary(hExe)) { Messagebox("Could not free executable."); }
Hat schonmal jemand ähnliches erlebt ? Bräuchte echt Hilfe, Danke