|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.05.2016, 12:03 | #1 |
Пользователь
Регистрация: 16.04.2016
Сообщений: 11
|
Работа в чужом окне архиватора
Здравствуйте;
Мне нужно программно работать с самораспаковывающимся запароленым архивом. Вот тестовый фрагмент одного из вариантов кода: //находим окно архиватора] Код:
Пробовал использовать функции GetForegroundWindow, но все равно не получается. Прилагаю рисунки архиватора и программы SPY++. Может, кто то имел дело с подобной задачей, то прошу помочь. Последний раз редактировалось ivanik; 22.05.2016 в 14:04. |
22.05.2016, 13:21 | #2 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Где же форматирование от ТС? http://programmersforum.ru/showpost....&postcount=236
Для чего это интересно нужно? Самораспаковщики винрара самодостаточны для такого. Сабж: Код:
И ещё Код:
Аналогично в Код:
|
22.05.2016, 13:43 | #3 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,761
|
Может это Вам подойдёт?
SFX-модули GUI: параметры командной строки |
22.05.2016, 14:29 | #4 |
Пользователь
Регистрация: 16.04.2016
Сообщений: 11
|
EOLN
Здравствуйте!
Спасибо за внимание. 1) Я указал, что хочу программно работать со своим же запароленным архивом, чтобы тот, кто попробует запустить его сам не смог этого сделать. 2) Я не указывал паузы во фрагменте кода. Естественно я пробовал и с ними. 3) Фрагмент кода "if findwindow(nil, 'Самораспаковывающийся архив WinRAR') = 0 then begin showmessage ('Окно Самораспаковывающийся архив WinRAR не найдено #32770');" это для тестового варианта и нужен только для вывода сообщения, что дескриптор не найден, а дальше идет работа по поиску дескриптора в блоке begin ...end. Все прекрасно работает. В самой программе код будет по другому. Мне нужно определить дескриптор окна замены файлов (если потребуется такая замена) и окна ввода пароля (оно выйдет в любом случае). Теоретически все понятно, практически не получается. В MS Word и др. окна ввода паролей находятся легко и соответственно вводятся пароли. Здесь же неполучается, хотя все вроде бы тривиально. В программе Spy++ все видно (имя элементов и классы), а найти дескрипторы не могу. Еще раз спасибо всем за внимание. Буду экспериментировать. |
22.05.2016, 15:26 | #6 |
Пользователь
Регистрация: 16.04.2016
Сообщений: 11
|
min@y
Здравствуйте!
Спасибо за внимание. Мне нужно конкретно найти дескриптор окна замены файлов и ввода пароля. Я понял так, что с помощью прилагаемого вами кода можно определить их имена. Из Spy++ я знаю их имена и классы, но все равно не могу найти их дескрипторы. Может кто попробует это сделать на Delphi с самораспаковывающимся запароленым архивом с путем распаковки по умолчанию (т.е. на рабочий стол), чтобы сработала кнопка "Да для всех", затем введен пароль и нажата кнопка "ОК". Мне на это требуется 5 мин., но результат нулевой. Вам профессионалам это сделать проще. Если нет Delphi, то можно и на С++, функции, то те же. Все равно вам спасибо. |
22.05.2016, 15:37 | #7 | ||
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Вот это читал? Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
Последний раз редактировалось min@y™; 22.05.2016 в 15:49. |
||
22.05.2016, 17:52 | #8 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Хоть и метод добывания нужной добычи странный, но всё-таки отвечу )
1) странный код запуска несуществующего нужно приводить в том виде, в котором вы хотите увидеть невидимое 2) выкинуть проверки нужно, ибо они ещё страннее чем мое утверждение в пункте №1 Код:
|
22.05.2016, 19:46 | #9 |
Пользователь
Регистрация: 16.04.2016
Сообщений: 11
|
OELN
У меня точно такой код в программе.
Единственно, что я вставляю программно путь распаковки. Может код и странный, но я ведь не профессионал. А вы чувствуется профессионал и Вам большое СПАСИБО! Вся причина была в том, что я задавал маленькую паузу (1000 и 500), а когда задал 2000 все заработало как часы. Вот это я и хотел выяснить. Чувствую, что все вроде правильно, а не работает. Ну а не профессионалы пытаются унизить других. Еще раз Вам большое СПАСИБО!!! |
23.05.2016, 09:50 | #10 |
instagram
Участник клуба
Регистрация: 24.05.2008
Сообщений: 1,451
|
RAR Component
или RAR Component посмотрите:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Эмуляция клика мыши в чужом окне | MyIE | Win Api | 16 | 06.10.2011 23:26 |
Нажатие кнопки мыши в чужом окне | gufon | Общие вопросы Delphi | 2 | 29.06.2011 21:03 |
TVirtualStringTree в чужом окне. | Fairhawk | Общие вопросы Delphi | 0 | 27.01.2011 11:54 |
Drag n Drop объект в чужом окне | ShiSha_34 | Win Api | 8 | 09.11.2010 02:19 |
как рисовать текст на чужом окне | Crazyman | Win Api | 5 | 23.01.2009 00:23 |