Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];

Вниз

Имитация нажатия кнопки.   Найти похожие ветки 

 
[HDD]John   (2002-03-27 17:45) [0]

Надо имитировать нажатие кнопки. Использую функцию keybd_event.
Но она нажимает только в активном окне, а можно ли сделать так чтобы она нажимала в неактивном окне ????

На что мне ответили:

Попробуй отправить тому окну WM_KEYDONW и WM_KEYUP, должно сработать.

Но чето не понял как это мне поможет ???Поясните ПЛИЗ


 
cok   (2002-03-27 18:20) [1]

КОРОЧЕ, СКАЛИХАСОВСКИ, ЕНТО УЖЕ БЫЛО:
Var
ButClassName,ButCaption:String;
MainWnd,ButWnd:HWND;
Begin
ButClassName:="имя_класса_кнопки";
ButCaption:="надпись_на_кнопке";
MainWnd:=<хендл_окна_на_котором_находится_кнопка>;
ButWnd:=FindWindowEx(MainWnd, 0, PChar(ButClassName), PChar(ButCaption));
PostMessage(ButWnd, BM_CLICK, 0, 0);
End;




 
Chris   (2002-03-28 08:18) [2]

Если кому-нибудь пригодится, то эту прогу я использую при включении компьютера. Запускается она по ключу из RunService (до появления окошка "введите сетевой пароль") и нажимает кнопку OK (у меня пустой пароль).

procedure TForm1.Timer1Timer(Sender: TObject);
var i: integer;
cName, wName: PChar;
begin
Timer1.Enabled:=False;
if FindWindow("#32770","Ввод сетевого пароля")>32 then
begin
cName:=StrNew(" ");
wName:=StrNew(" ");
for i:=32 to 10000 do
if isWindow(i) then
begin
GetClassName(i,cName,50);
GetWindowText(i,wName,50);
if (cName="Button")and(wName="ОК") then
begin
SendMessage(i,WM_LBUTTONDOWN,0,0);
// Внимание! Кнопку надо не только нажать, но еще и отпустить!
SendMessage(i,WM_LBUTTONUP,0,0);
Close;
end;
end;
StrDispose(cName);
StrDispose(wName);
end;
Timer1.Enabled:=True;
end;



 
[HDD]John   (2002-03-28 13:48) [3]

Класные штуки сеньку вери мач они мне пригодятся....Но боюсь я не правильно объяснил... Мне надо чтобы в левом (не дельфинском) окне эмитировалось нажатие КЛАВИШИ ТАВ



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
14-97386
Dzmitry
2002-04-19 11:06
2002.05.30
while<->repeat


3-97200
jenbbond
2002-05-08 10:48
2002.05.30
Подскажите пожайлуста с DBGrid


4-97462
Andrew_A
2002-03-26 13:28
2002.05.30
2 экземпляра DLL


1-97281
vvsystem
2002-05-18 15:47
2002.05.30
Как создать класс по имени класса в рантайме?


1-97243
Destroyer
2002-05-20 12:43
2002.05.30
Распечатка изображения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский