我对Windows编程很陌生。我正在尝试检索窗口的名称。
char NewName[128];
GetWindowText(hwnd, NewName, 128);
我需要使用char [],但它给出了错误类型的错误 从我读到的,LPWSTR是一种char *。
如何将char[]
与GetWindowText
一起使用?
非常感谢!
答案 0 :(得分:11)
您可能正在编译Unicode项目,因此您可以:
GetWindowTextA
)或wchar_t
代替char
(LPWSTR
是wchar_t
的指针)答案 1 :(得分:1)
对于现代Windows编程(这意味着,在2000年微软为Windows 9x引入了Layer for Unicode之后),你最好使用“Unicode”,这在Windows的C ++中表示使用 wchar_t
。
即,使用wchar_t
代替char
,并使用std::wstring
代替std::string
。
在包含UNICODE
之前,请务必定义<windows.h>
。定义NOMINMAX
和STRICT
也是一个好主意。虽然现在后者是默认定义的。
答案 2 :(得分:1)
通过附加A(ANSI)或W(宽字符)来调用Windows API而不指定显式版本时,应始终使用TCHAR
。 TCHAR
会映射到正确的类型,具体取决于UNICODE
是否为#define
d。