Форум: "WinAPI";
Текущий архив: 2002.06.06;
Скачать: [xml.tar.bz2];
ВнизРабота с другими приложениями Найти похожие ветки
← →
heruvim4ik (2002-04-03 20:25) [0]Такая задача: представьте открытое окно с несколькими текстовыми полями и кнопкой. Как программно прописывать в конкретном поле текст и "нажимать" на кнопку? Это я про перебор паролей к проге. Или это делаеться по-другому?
← →
Song (2002-04-03 23:05) [1]Прописывать текст - WM_SETTEXT, WM_PASTE
Нажимать на кнопку BM_CLICK
← →
heruvim4ik (2002-04-04 00:24) [2]чуть конкретнее плз, если не затруднит, ибо я чайник исчо, но надо. Если не трудно, то на примере какой-нть процедурки
Заранее благодарен
← →
Song (2002-04-04 08:49) [3]Если Вы чайник, то рановато Вы за WinApi взялись.
Читайте хелп по этим сообщением, хэлп по SendMessage, FindWindow и WinApi в целом.
← →
Anatoly Podgoretsky (2002-04-04 09:52) [4]heruvim4ik © (04.04.02 00:24)
Если Вы чайник, то рановато Вы за взлом взялись.
Читайте хелп по этим сообщением, хэлп по SendMessage, FindWindow и WinApi в целом.
← →
heruvim4ik (2002-04-04 14:05) [5]Ахромное спасибо мля!... Хоть на этом
← →
Dimaond Cat (2002-04-04 23:35) [6]вообщето лом паролей таким способом проихводить неэффективно и даже глупо,тут надо либо дизасемблить, либо softice(ом) каким.
2 Song если у человека есть потребность , то говорить о рановатости не уместно :о)
← →
heruvim4ik (2002-04-05 00:54) [7]Хоть кто-нибудь заступился :-))
Дело в том, что это не пароль к проге, это пароль пользователя этой проги + я знаю, что он короткий
← →
Song (2002-04-05 08:17) [8]2Dimaond Cat © (04.04.02 23:35)
Дело в том, что эта задача имеет много "если", потому что зависит от того приложения куда он хочет посылать сообщение. Ни у меня ни у Вас этого приложения нет, поэтому здесь не существует прямого ответа на вопрос, такого чтобы он написал и сразу всё зароботало на 100%. И если человек ничего не понимает, то ему будет её тяжело реализовать, а нам придётся отвечать в связи с этим на множество набегающих вопросов, которые возможно и объяснить ему будет трудно.
← →
heruvim4ik (2002-04-05 13:02) [9]2 Song:
1. Вот конкретный пример:
Как в открытое окно блокнота запиать слово "Song"? Думаю блокнот у всех есть?
2. Не знаю, с чего ты решил, что я ничего не понимаю.
Программирую уже 3-ий год, просто с ООП связался недавно, так что, если просто влом объяснить, то ничего не пиши.
← →
Digitman (2002-04-05 13:46) [10]>heruvim4ik
ООП, в общем случае, не имеет никакого отношения к твоей проблеме. И если ты программируешь 3-й год (не думаю, что под MS DOS - все же под Win32, скорее всего), то должен знать, что есть понятия "окно", "хэндл окна", "сообщение окну" и т.п.
Касаемо твоего п.1, эти понятия имеют к "Блокноту" самое прямое отношение : определяется имя окна блокнота, запрашивается его хэндл, у окна (родительского) с найденным хэндлом ищется хэндл дочернего окна класса STATICTEXT и этому доч.окну посылается сообщение WM_SETTEXT, одним из параметров которого будет адрес буфера строки, содержащей текст "Song".
В бесконечном же множестве частных случаев такой, на первый взгляд "универсальный" алгоритм не подойдет, работать он не будет и подходы к решению поставленной тобой задачи, скорее всего, будут совершенно иными, в зависимости от конкретного частного случая. К таким случаям, например, можно отнести Делфи-приложение, в котором ты хочешь программно "нажать кнопку". Если эта кнопку "рождает" класс TBitBtn, то ни о каких хэндлах окна, ассоциированного с кнопкой (как в примере с блокнотом, где окно STATICTEXT почти полностью контролирует состояние того, что ты видишь при наборе текста в блокноте), а, значит, решение задачи должно быть совершенно иным, более того - зачастую уникальным для конкретного частного случая.
← →
Biorobot (2002-04-05 13:48) [11]Попрообуй перегвигать мышь на кнопу с помощью
SetMousePos или SetCursorPos(Не помню точно) и Clickатьт с помощью MouseEvent
← →
Biorobot (2002-04-05 13:50) [12]Слушай, а ты и ProNix одно и тот же лицо?
← →
Song (2002-04-05 14:04) [13]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;
← →
Song (2002-04-05 14:14) [14]Попрообуй перегвигать мышь на кнопу с помощью
SetMousePos или SetCursorPos(Не помню точно) и Clickатьт с помощью MouseEvent Да, такое я мог услышать только от Biorobot"a. :))))
← →
heruvim4ik (2002-04-05 19:24) [15]2 BioRobot:
нет, разные мы лица
2 Song:
Спасибо
И вообще всем спасибо!
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.06.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c