【发布时间】:2011-01-14 21:41:14
【问题描述】:
首先,它到底是什么?我猜它是一个指针(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。 请帮忙。
【问题讨论】:
-
欢迎使用 Microsoft 匈牙利表示法。
-
它实际上使文档更具可读性,可惜关于它的其他一切。
-
@Thomas:这不是微软(或 Simonyi)最初标记的 Hungarian Notation。当文档组决定进行一些“可读性”改进时,这或多或少是意外的结果。他们不是开发人员,因此这些更改并不优雅。背景信息可在Hugarian notation - it's my turn now :) 获得
-
@IInspectable:链接断开
-
@IInspectable:工作链接是blogs.msdn.microsoft.com/larryosterman/2004/06/22/…