WCHAR
-
Hiho,
ich habe hier zwei Fehlermeldungen die ich nicht richtig verstehe.
Vermutlich ist es eher C++ als wirklich WinAPI, dann bitte ich um
Entschuldigung.WCHAR item[MAX_PATH]; item="mystring"; PROCESSENTRY32 process;const char [11]' kann nicht in 'WCHAR [260]' konvertiert werden
if(!strcmp(process.szExeFile,item))strcmp': Konvertierung des Parameters 1 von 'WCHAR [260]' in 'const char *' nicht möglich
-
Was ist WCHAR? Ich tippe auf ein typedef für wchar_t. Das bedeutet, daß du mit Multibyte-Zeichen (UNICODE) hantierst - und da kannst du nicht mehr die char-Funktionen verwenden.
Fruggle schrieb:
WCHAR item[MAX_PATH]; item="mystring"; PROCESSENTRY32 process;const char [11]' kann nicht in 'WCHAR [260]' konvertiert werden
Diese Zuweisung klappt sowieso nicht für Arrays, da mußt du strcpy (bzw. seine wchar_t-Version wcscpy()) verwenden:
wcscpy(item,L"mystring");Fruggle schrieb:
if(!strcmp(process.szExeFile,item))strcmp': Konvertierung des Parameters 1 von 'WCHAR [260]' in 'const char *' nicht möglich
Das selbe Problem - du benötigst die wchar_t-Version von strcmp() - wcscmp()
-
CStoll schrieb:
Was ist WCHAR? Ich tippe auf ein typedef für wchar_t.
So ist es:
WINNT.H schrieb:
typedef wchar_t WCHAR; // wc, 16-bit UNICODE character
-
Dafür gibt es auch WinAPI-Funktionen:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/strings/stringreference/stringfunctions/lstrcpy.asp
-
CStoll schrieb:
Diese Zuweisung klappt sowieso nicht für Arrays, da mußt du strcpy (bzw. seine wchar_t-Version wcscpy()) verwenden
Oder man initialisiert das Array mit dem String:
WCHAR item[MAX_PATH] = L"mystring";