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

Вниз

Как нажать кнопку чужого приложения.   Найти похожие ветки 

 
Тоха ©   (2006-06-26 06:51) [0]

Собственно сабж.
Мне надо нажать кнопку в чужом приложении, скрытно от пользователя (это не хакерство, упоси господь).
Поможите плиз.


 
Handle   (2006-06-26 11:06) [1]

PostMessage("handle кнопки в чужом приложении" , BM_CLICK, 0, 0);


 
Тоха ©   (2006-06-26 11:36) [2]

Спасибо. Извените за наглость, и за то что не в том разделе написал, но можно небольшой примерчик, как этот хэндл узнать?
Плиз. Ну очень нада.


 
Тоха ©   (2006-06-26 11:41) [3]

Мне надо сделать что инсталяшка другого производителя шла в скрытом (полускрытом) состоянии.


 
Handle   (2006-06-26 12:05) [4]


> Мне надо нажать кнопку в чужом приложении


В каком приложении?


> как этот хэндл узнать


Например вот так

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Caption:= ( IntToStr (WindowFromPoint(Mouse.CursorPos)));
end;


 
Handle   (2006-06-26 12:08) [5]


> Мне надо сделать что инсталяшка другого производителя шла
> в скрытом (полускрытом) состоянии


А помоему хакерство


 
ANB ©   (2006-06-26 13:42) [6]


> Тоха ©   (26.06.06 11:41) [3]

Смотреть FindWindow. Надежнее будет EnumWindows (если запускаешь инсталляшку через CreateProcess, то сможешь фильтровать окна по ProcessID, чтобы случайно не поймать другое).


 
Плохиш ©   (2006-06-26 13:57) [7]


> Тоха ©   (26.06.06 11:41) [3]
> Мне надо сделать что инсталяшка другого производителя шла
> в скрытом (полускрытом) состоянии.

Используй ключ "-с" при запуске "инсталяшки другого производителя"


 
Плохиш ©   (2006-06-26 13:58) [8]


> Плохиш ©   (26.06.06 13:57) [7]

Пардон, ключ "-s", клавиатуру забыл переключить :-)


 
Тоха ©   (2006-06-26 14:36) [9]

Спасибо. Буду пробовать.
Действительно не хакерство. Это что бы в своей же сети на работе развернуть приложение. А пользователю - это нафиг не надо.


 
evvcom ©   (2006-06-26 14:42) [10]

Для этого не надо кнопки нажимать. Для этого есть ключи.


 
Medved ©   (2006-06-26 20:10) [11]

http://unattended.oszone.net/
http://unattended.msfn.org/
http://www.autoitscript.com/autoit3/
http://www.nncron.ru/index_ru.shtml


 
Тоха ©   (2006-06-27 06:29) [12]

Спасибо всем, очень помогли.


> Для этого не надо кнопки нажимать. Для этого есть ключи.

Нету ключей. В том то и дело.

вот нашел примерчик:

==============
function EnumChildProc(Wnd: hWnd; SL: TStrings): BOOL; stdcall;
var
 szFull: array[0..MAX_PATH] of Char; //Buffer for window caption
begin
 Result := Wnd <> 0;
 if Result then  
 begin
   GetWindowText(Wnd, szFull, SizeOf(szFull)); // put window text in buffer
   if (Pos(SL[0], StrPas(szFull)) > 0) // Test for text
     and (SL.IndexOfObject(TObject(Wnd)) < 0) // Test for duplicate handles
     then SL.AddObject(StrPas(szFull), TObject(Wnd)); // Add item to list
   EnumChildWindows(Wnd, @EnumChildProc, Longint(SL)); //Recurse into child windows
 end;
end;

function ClickButton(ParentWindow: Hwnd; ButtonCaption: string): Boolean;
var
 SL: TStringList;
 H:  hWnd;
begin
 SL := TStringList.Create;
 try
   SL.AddObject(ButtonCaption, nil); // First item in list is text to find
   EnumChildWindows(ParentWindow, @EnumChildProc, Longint(SL));
   H := 0;
   case SL.Count of
     1: ShowMessage("Window text not found.");
     2: H := hWnd(SL.Objects[1]);
     else  
       ShowMessage("Ambiguous text detected.");
   end;
 finally
   SL.Free;
 end;
 Result := H <> 0;
 if Result then PostMessage(H, BM_CLICK, 0, 0);
end;

// Rememeber the ampresand for underlined characters
// if the "c" is underlined, then the text is "&click"
==============



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

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

Наверх





Память: 0.47 MB
Время: 0.01 c
2-1151467285
Freze_Kati
2006-06-28 08:01
2006.07.16
Как вставить часть французского текста?


15-1150365896
DillerXX
2006-06-15 14:04
2006.07.16
У вас работает ICQ?


15-1150563969
Furyz-dimodim
2006-06-17 21:06
2006.07.16
Вопрос для тех кто шарит в линуксе...


2-1151366523
fantasy
2006-06-27 04:02
2006.07.16
RaveReport


1-1149236633
PanIlya
2006-06-02 12:23
2006.07.16
Дата в StringGrid (Перенесена из Компоненты)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский