Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как изменить UIN и пароль в QIP? [D6, WinXP]


Volf_555 ©   (2006-03-14 19:47:00) 

Для этого пробывал следующее:
procedure TForm1.Button1Click(Sender: TObject);
var
s:Integer;
a:Integer;
z:String;
begin
s:=FindWindow(nil,'QIP - Спокойное общение!'); //находит
ShowMessage(IntToStr(s)); //больше нуля
a:=FindWindowEx(s,0,'Panel',nil); //не находит. Вообще Panel - правильно?!
ShowMessage(IntToStr(a)); //равно нулю
a:=FindWindowEx(a,0,'ComboBox',nil); //не находит
ShowMessage(IntToStr(a)); //равно нулю
z:='279854879'; //UIN вымышленный
SendMessage(a,WM_SetText,0,Integer(z));
end;

Компоненты ComboBox и Edit в QIP находятся на панели.
В компоненте ComboBox находится UIN
В компоненте Edit находится пароль
Как найти панель, записать данные в ComboBox и Edit и нажать на кнопку Подключиться?


Handle   (2006-03-19 21:14:00) [1]

Данезашто


Volf_555   (2006-03-19 14:32:00) [2]

И снова не так :)
Правильные отредактированный код будет следующим:

procedure TForm1.Button4Click(Sender: TObject);
var
s:Integer;
a,b,c,d:Integer;
z:String;
begin
s:=FindWindow(nil,'QIP - Спокойное общение!');
a:=FindWindowEx(s,0,'TGroupBox',nil);
b:=FindWindowEx(a,0,'TComboBox',nil);

z:='279854879';
SendMessage(b,WM_SetText,0,Integer(PChar(z)));

c:=FindWindowEx(a,0,'TEdit',nil);
z:='пароль';
SendMessage(c,WM_SetText,0,Integer(PChar(z)));

d:=FindWindowEx(a,0,'TButton','Подключиться');
SendMessage(d, BM_CLICK, 0, 0);
end;


Handle   (2006-03-14 22:48:00) [3]

опять не так
s:=FindWindowEx(a,0,'TButton','Подключиться');
SendMessage(a, BM_CLICK, 0, 0);

правильно
a:=FindWindowEx(s,0,'TButton','Подключиться');
SendMessage(a, BM_CLICK, 0, 0);


Handle   (2006-03-14 22:43:00) [4]

Тоесть вот так я хотел сказать

procedure TForm1.Button1Click(Sender: TObject);
var
s:Integer;
a:Integer;
z:String;
begin
s:=FindWindow(nil,'QIP - Спокойное общение!');
a:=FindWindowEx(s,0,'TPanel',nil);
s:=FindWindowEx(a,0,'TComboBox',nil);
z:='279854879';
SendMessage(s,WM_SetText,0,Integer(PChar('z'));
s:=FindWindowEx(a,0,'Edit',nil);
z:='пароль';
SendMessage(s,WM_SetText,0,Integer(PChar('z'));
s:=FindWindowEx(a,0,'TButton','Подключиться');
SendMessage(a, BM_CLICK, 0, 0);
end;


Handle   (2006-03-14 22:34:00) [5]

procedure TForm1.Button1Click(Sender: TObject);
var
s:Integer;
a:Integer;
z:String;
begin
s:=FindWindow(nil,'QIP - Спокойное общение!');
//a:=FindWindowEx(s,0, 'TPanel',nil);
a:=FindWindowEx(a,0, 'TComboBox',nil);
z:='279854879';
SendMessage(a,WM_SetText,0,Integer(PChar('z'));
a:=FindWindowEx(a,0, 'Edit',nil);
z:='пароль';
SendMessage(a,WM_SetText,0,Integer(PChar('z'));
a:=FindWindowEx(s,0,'TButton','Подключиться');
SendMessage(a, BM_CLICK, 0, 0);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо