Ich bin ziemlich neu in der Windows-Programmierung. Ich versuche, den Namen eines Fensters abzurufen.
%Vor% Ich muss ein char [] verwenden, aber es gibt mir den Fehler eines falschen Typs.
Von dem, was ich gelesen habe, ist LPWSTR eine Art Char *.
Wie kann ich char[]
mit GetWindowText
verwenden?
Vielen Dank!
Sie erstellen wahrscheinlich ein Unicode-Projekt. Sie können also entweder:
GetWindowTextA
) oder wchar_t
anstelle von char
( LPWSTR
ist ein Zeiger auf wchar_t
) Für moderne Windows-Programmierung (das heißt, nach dem Jahr 2000, als Microsoft den Layer für Unicode für Windows 9x einführte), ist es viel besser, "Unicode" in C ++ in Windows zu verwenden bedeutet mit wchar_t
.
Verwenden Sie also wchar_t
anstelle von char
und verwenden Sie std::wstring
anstelle von std::string
.
Denken Sie daran, UNICODE
vor dem Einfügen von <windows.h>
zu definieren. Es ist auch eine gute Idee, NOMINMAX
und STRICT
zu definieren. Obwohl letzteres standardmäßig definiert ist.
Wenn Sie Windows-APIs aufrufen, ohne eine explizite Version anzugeben, indem Sie entweder A (ANSI) oder W (wide char) anhängen, sollten Sie immer TCHAR
verwenden. TCHAR
wird dem richtigen Typ zugeordnet, abhängig davon, ob UNICODE
#define
d ist oder nicht.
Tags und Links c++ visual-studio-2010 winapi