Я химик, плохо знакомый с программированием, и работаю над сценарием, который поможет мне автоматически обрабатывать некоторые из моих данных.Код, над которым я сейчас работаю, включает использование WM_GETTEXT для получения заголовка дескриптора окна.Однако прямо сейчас буфер символов захватывает только один символ, а не весь заголовок.Похоже, что у кого-то несколько лет назад была похожая проблема (ссылка: http://www.cplusplus.com/forum/beginner/58207/),, которая предполагает, что проблема может быть связана со смешиванием типов данных. Я попытался переключиться на TCHAR, как было предложено, но не могу скомпилировать при этом (ошибка получениячто я не могу преобразовать из "const char [1] в TCHAR [254]). Вот код, который я использую:
int textLen = (int)SendMessage(windowHandle, WM_GETTEXTLENGTH, 0, 0);
std::cout << "The handle length is: " << textLen << std::endl;
const int bufferSize = 254;
char textBuffer[bufferSize] = "";
SendMessage(windowHandle, WM_GETTEXT, (WPARAM)bufferSize, (LPARAM)textBuffer);
std::cout << "The handle title is: " << textBuffer << std::endl;
У кого-нибудь есть какие-либо предложения? Я работаю в Microsoft Visual Studio,что, я думаю, может быть частью проблемы, но я не уверен, как это исправить.