Fehlermeldung
-
Hallo Leute,
Mir ging es darum den handle eines beliebigen Prozesses durch seinen Namen ( z.b process.exe ) zu kriegen. Dabei habe ich diesen Code benutzt:
http://stackoverflow.com/questions/865152/how-can-i-get-a-process-handle-by-its-name-in-cbzw.
PROCESSENTRY32 entry;
entry.dwSize = sizeof(PROCESSENTRY32);HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (Process32First(snapshot, &entry) == TRUE)
{
while (Process32Next(snapshot, &entry) == TRUE)
{
if (stricmp(entry.szExeFile, "target.exe") == 0)
{
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, entry.th32ProcessID);// Do stuff..
CloseHandle(hProcess);
}
}
}CloseHandle(snapshot);
Das Problem liegt anscheinend bei
stricmp(entry.szExeFile, "target.exe")
da anscheinend bei "entry" das Argument vom Typ ""WCHAR *"" mit dem Parameter vom Typ ""const char *"" inkompatibel ist.
Nun bei vielen Usern von StackOverflow hat der Code einwandfrei funktioniert, da ich niemanden gefunden habe der das selbe Problem hat.
( Ja ich habe auch die Google Suche verwendet um das Problem zu finden )
Auchwenn das Problem möglicherweise vor meiner Nase liegt, wäre es trotzdem hilfreich wenn mir jemand helfen könnte.
Danke im voraus.
-
Versuch's mit _wcsicmp und L"target.exe"
-
Danke, hat funktioniert, trotzdem merkwürdig dass es bei vielen anderen auch so lief
-
Die waren ja auch schlau genug, das als ANSI anstatt UNICODE zu kompilieren.