我对 Windows 编程很陌生。我正在尝试检索窗口的名称。
char NewName[128];
GetWindowText(hwnd, NewName, 128);
我需要使用 char[] 但它给了我错误类型的错误。
根据我的阅读,LPWSTR 是一种 char*。
如何使用char[]
with GetWindowText
?
非常感谢 !
我对 Windows 编程很陌生。我正在尝试检索窗口的名称。
char NewName[128];
GetWindowText(hwnd, NewName, 128);
我需要使用 char[] 但它给了我错误类型的错误。
根据我的阅读,LPWSTR 是一种 char*。
如何使用char[]
with GetWindowText
?
非常感谢 !
您可能正在编译一个 Unicode 项目,因此您可以:
GetWindowTextA
,或wchar_t
代替char
(LPWSTR
是指向wchar_t
)当调用 Windows API 而不通过附加 A(ANSI)或 W(宽字符)来指定显式版本时,您应该始终使用TCHAR
. TCHAR
将根据是否UNICODE
为#define
d 映射到正确的类型。
对于现代 Windows 编程(这意味着,在 2000 年 Microsoft 为 Windows 9x 引入 Unicode 层之后),使用"Unicode"会好得多,这在 Windows 中的 C++ 中意味着使用wchar_t
.
也就是说,使用wchar_t
代替char
,并使用std::wstring
代替std::string
。
记得UNICODE
在包含之前定义<windows.h>
。NOMINMAX
定义和也是一个好主意STRICT
。虽然现在后者是默认定义的。