Это длинный указатель на постоянную, широкую строку (то есть строку широких символов).
Поскольку это широкая строка, вы хотите, чтобы ваша константа выглядела следующим образом: L"TestWindow"
. Я бы не стал создавать промежуточное значение a
, просто передал бы L"TestWindow"
для параметра:
ghTest = FindWindowEx(NULL, NULL, NULL, L"TestWindow");
Если вы хотите быть педантично правильным, «LPCTSTR» - это «текстовая» строка - широкая строка в сборке Unicode и узкая строка в сборке ANSI, поэтому вы должны использовать соответствующий макрос:
ghTest = FindWindow(NULL, NULL, NULL, _T("TestWindow"));
Мало кто интересуется созданием кода, который может компилироваться как для кодировок Unicode, так и для ANSI, хотя, и если вы не получите его для правильной работы, это может быть немного дополнительной работой за небольшую выгоду. В этом конкретном случае не требуется много дополнительной работы, но если вы манипулируете строками, есть целый набор макросов манипуляции со строками, которые разрешают правильные функции.