Как я могу получить текст Windows WinAPI C ++?

c++

73 просмотра

1 ответ

В настоящее время я делаю проект Win32 DLL WinAPIс пользовательским интерфейсом. Я запутался в том, как получить текстовый текст в C ++. Вот как выглядит мой код.

case Execute:
    char text[256];
    TCHAR TextBuffer[_MAX_PATH];
    LRESULT result = SendMessage(Pointers::ExecuteBar, WM_GETTEXT, 256, LPARAM(text));
    HandleCommands(std::string(text));
    std::string UserInput = (std::string)(char*)TextBuffer;
    if (Enabled)
    {
        HandleCommands(UserInput);
    }
    else
    {
        PushMessage(L"Not Initialized.", RGB(255, 140, 0));
    };
    break;
};
break;

это мой случай Выполнить функцию.

Вот моя кнопка WinApi для выполнения.

HWND ExecuteButton = CreateWindow(L"BUTTON", L"EXE", (WS_CHILD | WS_VISIBLE),
    340, 380, 60, 20, Pointers::Window, (HMENU)Execute, DllModule, NULL);

Мне нужна помощь, потому что всякий раз, когда я пытаюсь что-то набрать, оно переходит к сообщению, которое я помещаю, чтобы уведомить пользователя, если он что-то ввел неправильно.

Автор: Ra1n Источник Размещён: 08.11.2019 10:58

Ответы (1)


0 плюса

Если вы хотите получить текст окна, просто используйте GetWindowText()функцию

  • 1-й параметр - это дескриптор окна, в которое вы хотите скопировать его текст.
  • 2-й параметр - это символ, который должен быть предварительно определен.
  • 3-й параметр - это максимальное количество символов, которое вы будете копировать.

Пример:

char copy[ ] = " ";
GetWindowText(hWndTextBox, &copy[0], sizeof(copy)-1);

Здесь 3-й параметр даст неограниченное количество символов для копирования, вы можете установить любое целое число, например 20

Автор: Abdullah O.r. Размещён: 26.08.2016 01:45
Вопросы из категории :
32x32