Я пытаюсь получить текст из другого окна динамически (если я что-то пишу в текстовом поле этого окна, а затем запускаю свою программу, я должен увидеть, что я написал). Так что если я использую getWindowText , он дает мне статичное инициализированное текстовое поле. Так вот в чем проблема. Это похоже, что делает spy ++. Вот пример кода, что я сделал:Динамически получать текст из текстового поля
#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;
}
Что собственно проблема? –
Когда я запускаю свою программу, он не читает текст, который я написал в текстовом поле, он читает текст, который был статически инициализирован. Мне нужно прочитать текст из текстового поля, который не инициализирован SetWindowText, но из того, что я написал в окне – Psychoman
Является ли элементом управления редактирования для первого дочернего элемента окна? Если это так, вы пропустите прямо над ним. –