我對Windows編程頗爲陌生。我正在嘗試檢索窗口的名稱。GetWindowText char []
char NewName[128];
GetWindowText(hwnd, NewName, 128);
我需要使用一個char [],但它給了我錯誤類型的錯誤。
從我讀到的,LPWSTR是一種char *。
如何使用char[]
和GetWindowText
?
非常感謝!
我對Windows編程頗爲陌生。我正在嘗試檢索窗口的名稱。GetWindowText char []
char NewName[128];
GetWindowText(hwnd, NewName, 128);
我需要使用一個char [],但它給了我錯誤類型的錯誤。
從我讀到的,LPWSTR是一種char *。
如何使用char[]
和GetWindowText
?
非常感謝!
你可能編譯一個Unicode項目,所以您可以:
GetWindowTextA
)的ANSI版本,或代替wchar_t
char
(LPWSTR
是指向wchar_t
)對於現代Windows編程(也就是說,在2000年之後,微軟推出了Layer for Unicode for Window s 9x),使用「Unicode」,這在Windows的C++中意味着使用wchar_t
。
也就是說,使用wchar_t
代替char
,並使用std::wstring
代替std::string
。
記得在包括<windows.h>
之前定義UNICODE
。定義NOMINMAX
和STRICT
也是一個好主意。雖然現在後者是默認定義的。
當通過附加A(ANSI)或W(寬字符)指定Windows API而未指定明確版本時,應始終使用TCHAR
。 TCHAR
將根據UNICODE
是否爲#define
d映射到正確的類型。
LPWSTR表示指向寬字符串的長指針,即由寬字符組成的字符串,'wchar_t'類型,而不是'char'。 –
你說你需要使用char []',你的理由是什麼? –
NewName與strcmp一起使用。 – MaT