从文本框中动态获取文本
Dynamically getting text from a textbox
我正在尝试从其他窗口动态获取文本(如果我在该窗口的文本字段中写了一些东西,然后启动程序,我必须看到我写了什么)。因此,如果我使用getWindowText,它会给我一个静态初始化的文本框。这就是问题所在。间谍++的作用与此类似。下面是我所做的代码示例:
#include <Windows.h>
#include <vector>
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
int main()
{
HWND hWnd;
MSG msg;
vector<HWND> a;
hWnd = FindWindow( NULL, "SomeList" );
vector<string> phrases;
char p[100];
if( !hWnd )
{
cout << "Window hasn't been found " << endl;
_getch();
exit( 1 );
}
hWnd = GetWindow(hWnd, GW_CHILD);
while (hWnd !=0)
{
hWnd = GetWindow(hWnd, GW_HWNDNEXT);
GetClassName( hWnd, p, 10 );
string k( p );
if( k == "Edit" )
a.push_back( hWnd );
GetWindowText(hWnd,p,100);
cout << p << endl;
}
phrases.resize( a.size() );
for( auto i = a.begin();i != a.end();i++ )
{
int index = 0;
GetWindowText( *i,p, 10 );
string n( p );
if( n.size() != 0 )
{
phrases[index] = n;
index++;
}
}
_getch();
return 0;
}
GetWindowText文档:
若要在另一个进程中检索控件的文本,请发送WM_GETTEXT消息,而不是调用GetWindowText。
示例:
HWND hWndEdit;
[....]
char szText[ 128 ] = { 0 };
int cbCopied = SendMessage( hWndEdit, WM_GETTEXT, (WPARAM)sizeof( szText ),
(LPARAM)szText );
相关文章:
- 如何从QToolBox中动态创建的QLineEdit中获取文本
- C++文本文件的获取线
- 如何在QGridLayout中获取QComboBox的当前文本?
- 从两个 4x64 位整数数组中获取取模
- 如果给定了文本样式,如何获取特定文本的 QSize 对象
- 如何从第三方程序中通过鼠标悬停获取按钮文本
- 仅从qtextedit小部件中获取可见文本
- 从 XMLHttpRequest-Object 获取响应文本
- 从二进制文件中抓取文本时,为什么 xdg_vtnr=8 是我的结果
- 如何使用预处理器从源文件中获取一行文本
- 如何使用字符串操作来获取输入文本文件的某些部分
- 在MFC CListCtrl中获取项文本的索引
- 如何从CMFCEditBrowseCtrl获取路径文本
- 如何从网页中获取所有文本
- 从Windows应用程序的文本框中抓取文本
- 使用c++从活动窗口获取选定文本
- 在Cimg库中获取渲染文本的尺寸
- 将成员方法声明列表获取到文本编辑器中
- 点击QGraphicsItem获取带有文本的QRectF
- 使用libzip从.zip获取文件(文本除外)