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

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

Работа с другими приложениями [D5, WinXP]


heruvim4ik ©   (2002-04-03 20:25:00) 

Такая задача: представьте открытое окно с несколькими текстовыми полями и кнопкой. Как программно прописывать в конкретном поле текст и "нажимать" на кнопку? Это я про перебор паролей к проге. Или это делаеться по-другому?


heruvim4ik   (2002-04-05 19:24:00) [1]

2 BioRobot:
нет, разные мы лица
2 Song:
Спасибо

И вообще всем спасибо!


Song   (2002-04-05 14:14:00) [2]

Попрообуй перегвигать мышь на кнопу с помощью
SetMousePos или SetCursorPos(Не помню точно) и Clickатьт с помощью MouseEvent
Да, такое я мог услышать только от Biorobot"a. :))))


Song   (2002-04-05 14:04:00) [3]

2heruvim4ik © (05.04.02 13:02)
Не поверите: решение в двух строчках.

Procedure TForm1.Button1Click(Sender: TObject);
Var S:PChar;
begin
S:="2heruvim4ik"#0; // Я скромный, поэтому вывожу Вас в блокнот
ShellExecute(Handle,nil,PChar("notepad.exe"),nil,nil,SW_SHOWNORMAL);
Sleep(300);
SendMessage(GetWindow(GetForeGroundWindow,GW_CHILD),WM_SETTEXT,0,LongInt(S));
end;


Biorobot   (2002-04-05 13:50:00) [4]

Слушай, а ты и ProNix одно и тот же лицо?


Biorobot   (2002-04-05 13:48:00) [5]

Попрообуй перегвигать мышь на кнопу с помощью
SetMousePos или SetCursorPos(Не помню точно) и Clickатьт с помощью MouseEvent


Digitman   (2002-04-05 13:46:00) [6]

>heruvim4ik
ООП, в общем случае, не имеет никакого отношения к твоей проблеме. И если ты программируешь 3-й год (не думаю, что под MS DOS - все же под Win32, скорее всего), то должен знать, что есть понятия "окно", "хэндл окна", "сообщение окну" и т.п.
Касаемо твоего п.1, эти понятия имеют к "Блокноту" самое прямое отношение : определяется имя окна блокнота, запрашивается его хэндл, у окна (родительского) с найденным хэндлом ищется хэндл дочернего окна класса STATICTEXT и этому доч.окну посылается сообщение WM_SETTEXT, одним из параметров которого будет адрес буфера строки, содержащей текст "Song".

В бесконечном же множестве частных случаев такой, на первый взгляд "универсальный" алгоритм не подойдет, работать он не будет и подходы к решению поставленной тобой задачи, скорее всего, будут совершенно иными, в зависимости от конкретного частного случая. К таким случаям, например, можно отнести Делфи-приложение, в котором ты хочешь программно "нажать кнопку". Если эта кнопку "рождает" класс TBitBtn, то ни о каких хэндлах окна, ассоциированного с кнопкой (как в примере с блокнотом, где окно STATICTEXT почти полностью контролирует состояние того, что ты видишь при наборе текста в блокноте), а, значит, решение задачи должно быть совершенно иным, более того - зачастую уникальным для конкретного частного случая.


heruvim4ik   (2002-04-05 13:02:00) [7]

2 Song:
1. Вот конкретный пример:
Как в открытое окно блокнота запиать слово "Song"? Думаю блокнот у всех есть?
2. Не знаю, с чего ты решил, что я ничего не понимаю.
Программирую уже 3-ий год, просто с ООП связался недавно, так что, если просто влом объяснить, то ничего не пиши.


Song   (2002-04-05 08:17:00) [8]

2Dimaond Cat © (04.04.02 23:35)
Дело в том, что эта задача имеет много "если", потому что зависит от того приложения куда он хочет посылать сообщение. Ни у меня ни у Вас этого приложения нет, поэтому здесь не существует прямого ответа на вопрос, такого чтобы он написал и сразу всё зароботало на 100%. И если человек ничего не понимает, то ему будет её тяжело реализовать, а нам придётся отвечать в связи с этим на множество набегающих вопросов, которые возможно и объяснить ему будет трудно.


heruvim4ik   (2002-04-05 00:54:00) [9]

Хоть кто-нибудь заступился :-))
Дело в том, что это не пароль к проге, это пароль пользователя этой проги + я знаю, что он короткий


Dimaond Cat   (2002-04-04 23:35:00) [10]

вообщето лом паролей таким способом проихводить неэффективно и даже глупо,тут надо либо дизасемблить, либо softice(ом) каким.
2 Songесли у человека есть потребность , то говорить о рановатости не уместно :о)


heruvim4ik   (2002-04-04 14:05:00) [11]

Ахромное спасибо мля!... Хоть на этом


Anatoly Podgoretsky   (2002-04-04 09:52:00) [12]

heruvim4ik © (04.04.02 00:24)
Если Вы чайник, то рановато Вы за взлом взялись.
Читайте хелп по этим сообщением, хэлп по SendMessage, FindWindow и WinApi в целом.


Song   (2002-04-04 08:49:00) [13]

Если Вы чайник, то рановато Вы за WinApi взялись.
Читайте хелп по этим сообщением, хэлп по SendMessage, FindWindow и WinApi в целом.


heruvim4ik   (2002-04-04 00:24:00) [14]

чуть конкретнее плз, если не затруднит, ибо я чайник исчо, но надо. Если не трудно, то на примере какой-нть процедурки

Заранее благодарен


Song   (2002-04-03 23:05:00) [15]

Прописывать текст - WM_SETTEXT, WM_PASTE
Нажимать на кнопку BM_CLICK


Наверх

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