首先,它到底是什么?我猜它是一个指针(LPC 表示长指针常量),但“W”是什么意思?它是指向字符串的特定指针还是指向特定字符串的指针?例如,我想关闭一个名为“TestWindow”的窗口。
HWND g_hTest;
LPCWSTR a;
*a = ("TestWindow");
g_hTest = FindWindowEx(NULL, NULL, NULL, a);
DestroyWindow(g_hTest);
该代码是非法的并且它不起作用,因为 const char[6] 无法转换为 CONST WCHAR。我完全不明白。我想清楚地了解所有这些 LPCWSTR、LPCSTR、LPSTR。我试图找到一些东西,但我更加困惑。在 msdn 站点 FindWindowEx
被声明为
HWND FindWindowEx(
HWND hwndParent,
HWND hwndChildAfter,
LPCTSTR lpszClass,
LPCTSTR lpszWindow
);
所以最后一个参数是LPCSTR,编译器需要LPCWSTR。请帮忙。
原文由 lhj7362 发布,翻译遵循 CC BY-SA 4.0 许可协议
LPCWSTR
代表“指向常量宽字符串的长指针”。 W 代表 Wide,表示字符串存储在 2 字节字符中,而不是普通的char
。对于必须处理非 ASCII 字符串的任何 C/C++ 代码都很常见。=要获得一个普通的 C 文字字符串以分配给
LPCWSTR
,您需要在它前面加上 L