GetWindowText avec char[]
Je suis tout à fait nouveau à la programmation Windows. Je suis en train d'essayer de récupérer le nom d'une fenêtre.
char NewName[128];
GetWindowText(hwnd, NewName, 128);
J'ai besoin d'utiliser un char [], mais il me donne l'erreur de type incorrect.
De ce que j'ai lu, LPWSTR est une sorte de char*.
Comment puis-je utiliser un char[]
avec GetWindowText
?
Merci beaucoup !
LPWSTR signifie Pointeur Long en Large de la Chaîne, c'est à dire une chaîne de caractères larges, la
Vous dites que vous
NewName est utilisé avec strcmp.
Il y a une variante de strcmp qui fonctionne avec de larges caractères. Mais plus important encore, il ya des opérateurs
Je ne le savais pas, merci pour votre aide !
wchar_t
type, pas char
.Vous dites que vous
need to use a char[]
, quelle est votre raison?NewName est utilisé avec strcmp.
Il y a une variante de strcmp qui fonctionne avec de larges caractères. Mais plus important encore, il ya des opérateurs
==
et <
pour std::wstring
.Je ne le savais pas, merci pour votre aide !
OriginalL'auteur MaT | 2012-12-19
Vous devez vous connecter pour publier un commentaire.
Vous êtes probablement à la compilation d'un Unicode projet, de sorte que vous pouvez soit:
GetWindowTextA
), ouwchar_t
au lieu dechar
(LPWSTR
est un pointeur verswchar_t
)OriginalL'auteur Jonathan Potter
Modernes de programmation de Windows (ce qui signifie que, après l'an 2000, lorsque Microsoft a présenté la Couche de l'Unicode pour Windows 9x), vous êtes beaucoup mieux d'utiliser "Unicode", qui en C++ sous Windows à l'aide de moyens
wchar_t
.wchar_t
Au lieu dechar
, et l'utilisationstd::wstring
au lieu destd::string
.N'oubliez pas de définir
UNICODE
avant, y compris<windows.h>
. C'est aussi une bonne idée de définirNOMINMAX
etSTRICT
. Bien qu'aujourd'hui celle-ci est définie par défaut.OriginalL'auteur Cheers and hth. - Alf
Lors de l'appel d'Api Windows sans spécification explicite d'une version en ajoutant UN (ANSI) ou W (wide char), vous devez toujours utiliser
TCHAR
.TCHAR
sera la carte pour le type approprié selon queUNICODE
est#define
d ou pas.OriginalL'auteur IInspectable