我如何得到一个windows文本winapi c++

how do I get a windows text winapi c++?

本文关键字:windows 一个 文本 winapi c++ 何得      更新时间:2023-10-16

我目前正在与WinAPI制作一个Win32 DLL项目,带有用户界面。我对如何在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;

that's my case .

这是我的WinApi按钮执行。

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

我需要帮助,因为每当我尝试输入一些东西时,它就会出现一条消息,如果用户输入错误,它就会通知用户

如果你想获得一个窗口的文本,只需使用GetWindowText()函数

  • 第一个参数是要复制其文本的窗口的句柄。
  • 第二个参数是必须预先定义的字符。
  • 第三个参数是你要复制的最大字符数。

的例子:

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

这里的第三个参数将为复制提供无限个字符你可以将其设置为任意整数,比如20

相关文章: