GetWindowText with char[]

GetWindowText with char[]

本文关键字:char with GetWindowText      更新时间:2023-10-16

我对Windows编程很陌生。我正在尝试检索窗口的名称。

char NewName[128];
GetWindowText(hwnd, NewName, 128);

我需要使用 char[],但它给了我错误类型的错误。
从我读到的内容来看,LPWSTR是一种字符*。

如何将char[]GetWindowText一起使用?

多谢!

您可能正在编译一个 Unicode 项目,因此您可以:

  • 显式调用函数的 ANSI 版本 ( GetWindowTextA ),或
  • 使用 wchar_t 而不是 charLPWSTR 是指向 wchar_t 的指针)

对于现代Windows编程(这意味着,在2000年Microsoft推出Windows 9x的Unicode层之后),使用"Unicode"要好得多,在Windows中C++这意味着使用wchar_t

也就是说,使用wchar_t而不是char,使用std::wstring而不是std::string

请记住在包含<windows.h>之前定义UNICODE。定义NOMINMAXSTRICT也是一个好主意。尽管如今后者是默认定义的。

在未通过附加 A (ANSI) 或 W(宽字符)指定显式版本的情况下调用 Windows API 时,应始终使用 TCHARTCHAR将根据UNICODE是否#define d映射到正确的类型。