Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2010, 14:07   #1
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию Нужно получить текст из 2х edit

Сдравсвуйте, вот задался вапросом, как получить текст каторый введен в чужое приложение: там 2 edit. и мне нужно скопировать информацию из них в свою программу. Я только хендл самого окна смог найти)
Код:
var
  k:hwnd;
begin
k:= FindWindow(nil, 'название окна');
if k<>0 then 
 ...
а что далльше помогите, целый день роюсь...
aesoem вне форума Ответить с цитированием
Старый 31.01.2010, 14:11   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

MSDN + GetWindowText
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 31.01.2010, 14:21   #3
m.a.x.i.m
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 32
По умолчанию

k2:=FindWindowEx(k,0,'Edit',nil);//ищем первый edit
k3:=FindWindowEx(k,k2,'Edit',nil);//ищем второй edit
m.a.x.i.m вне форума Ответить с цитированием
Старый 31.01.2010, 16:39   #4
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

вот так сделал: компиляция проходит успешно но при нажатии на кнопку появляется это
Цитата:
Source Breakpoint at $0051A92B: C:\Documents and Settings\александр\Мои документы\Unit1.pas line 56. Process Project1.exe (3980)
k,k2,k3:hwnd;
login,pass:String;
begin
k:= FindWindow(nil, 'Lineage II');
if k<>0 then
begin
k2:=FindWindowEx(k,0,'Edit',nil);//ищем первый edit
k3:=FindWindowEx(k,k2,'Edit',nil);//ищем второй edit
GetWindowText(k2,PChar(login),15);
GetWindowText(k3,PChar(pass),15);
end;
sedit1.Text:=login;
end;[/CODE] я так понимаю както я не так перевожу полученый текст в edut1.text своей программы?
Код:
 sedit1.Text:=login;
aesoem вне форума Ответить с цитированием
Старый 31.01.2010, 17:50   #5
m.a.x.i.m
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 32
По умолчанию

Код:
k,k2,k3:hwnd;
login,pass:pchar;
begin
k:= FindWindow(nil, 'Lineage II');
if k<>0 then
begin
k2:=FindWindowEx(k,0,'Edit',nil);//ищем первый edit
k3:=FindWindowEx(k,k2,'Edit',nil);//ищем второй edit
GetWindowText(k2,login,15);
GetWindowText(k3,pass,15);
end;
sedit1.Text:=login;
end;
m.a.x.i.m вне форума Ответить с цитированием
Старый 31.01.2010, 18:12   #6
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

кубики какието возвращает )
aesoem вне форума Ответить с цитированием
Старый 31.01.2010, 18:42   #7
m.a.x.i.m
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 32
По умолчанию

Код:
k,k2,k3:hwnd;
login,pass:string;
a,b:integer;
begin
k:= FindWindow(nil, 'Lineage II');
if k<>0 then
begin
k2:=FindWindowEx(k,0,'Edit',nil);//ищем первый edit
k3:=FindWindowEx(k,k2,'Edit',nil);//ищем второй edit
a:=GetWindowTextLength(k2);
b:=GetWindowTextLength(k3);
setlength(login,a);
setlength(pass,b);
GetWindowText(k2, login, a+1);
GetWindowText(k3, pass, b+1);
end;
sedit1.Text:=login;
end;
проверил - работает.
m.a.x.i.m вне форума Ответить с цитированием
Старый 31.01.2010, 19:51   #8
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

странно но моя делфля ругается на
Код:
GetWindowText(k2, login, a+1);
GetWindowText(k3, pass, b+1);
Цитата:
[DCC Error] Unit1.pas(58): E2010 Incompatible types: 'string' and 'PWideChar'
[DCC Error] Unit1.pas(59): E2010 Incompatible types: 'string' and 'PWideChar'
[DCC Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'
aesoem вне форума Ответить с цитированием
Старый 31.01.2010, 20:12   #9
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Напиши так:

Код:
var
   login, pass : array[0..255] of char;
Вместо:
Код:
 login, pass : string;
profi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверить текст в Edit Nikone Общие вопросы Delphi 5 15.12.2009 18:46
Как получить текст из Edit в переменную INT nimbler Win Api 4 05.11.2009 22:45
Текст из Edit контрола jungle Win Api 2 27.10.2009 19:22
Текст в Edit Simon..14 Общие вопросы C/C++ 7 18.01.2009 17:28
Edit и текст M@rsel Компоненты Delphi 2 23.03.2007 09:33