Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Закрыть незакрываймое окно!

Ответить
Настройки темы
Delphi - Закрыть незакрываймое окно!

Аватара для D@n1k007

Старожил


Сообщения: 181
Благодарности: 5


Конфигурация

Профиль | Отправить PM | Цитировать


Здравствуйте!
Недавно снова установил Alcohol 120%. Мне стало интересно как закрыть окно приветствия в нем, то которое типо "О программе" и висит 10 секунд?
Как я выяснил окно это - дочернее и пока не пройдет счетчик (10 секунд ожидания) окно не закроется. Попробовал написать так:
Код: Выделить весь код
PostMessage(FindWindow(nil, 'О программе - Alcohol 120%'), wm_quit, 0, 0);
Окошко закрылось, но вмести с ним закрылась и все прога (главное окно появилось на экране и тут же пропало)
Что можете посоветовать? Отдельная просьба не высказывать предложения по установке креков и покупки лицензии на Alcohol 120%! Я не собираюсь ломать Alcohol 120% (меня устраивает 15-дневный пробный период) мне это нужно как полигон для обучения!
Заранее благодарен!!!

Отправлено: 19:54, 13-02-2010

 

Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


D@n1k007, PostMessage в альянсе с параметром wm_quit как раз и отправляют процессу, а не отдельно взятому окну, команду закончить работу.
Данное ПО не установлено, так что не проверял. А что если отправить сообщение одноимённой функцией SendMessage с параметром WM_CLOSE?
SendMessage(FindWindow(nil, 'О программе - Alcohol 120%'), WM_CLOSE, 0, 0)

Отправлено: 22:57, 13-02-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 24
Благодарности: 4

Профиль | Отправить PM | Цитировать


или просто спрятать его:
ShowWindow(FindWindow(nil, 'О программе - Alcohol 120%'), SW_HIDE);

Отправлено: 23:07, 13-02-2010 | #3


Аватара для D@n1k007

Старожил


Сообщения: 181
Благодарности: 5

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
SendMessage(FindWindow(nil, 'О программе - Alcohol 120%'), WM_CLOSE, 0, 0);
не работает пока не закончится таймер
Код: Выделить весь код
ShowWindow(FindWindow(nil, 'О программе - Alcohol 120%'), SW_HIDE);
только скрывает, а не закрывает окно (следовательно главное окно не откроется)
Вот блин головоломку придумал

Отправлено: 12:15, 14-02-2010 | #4


Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


D@n1k007, закрыть окно не выйдет, потому что таймер соравно будет работать. Копать нужно именно в сторону таймера. Побороть таймер=побороть окно.

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 12:33, 14-02-2010 | #5


ИО Капитана Очевидности


Contributor


Сообщения: 5383
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Цитата D@n1k007:
Отдельная просьба не высказывать предложения по установке креков и покупки лицензии на Alcohol 120%! »
А*предложения по установке бесплатной версии Alcogol 52% (в которой отсутствуют функции записи дисков)?

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 03:17, 15-02-2010 | #6


Аватара для D@n1k007

Старожил


Сообщения: 181
Благодарности: 5

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg Активная кнопка.JPG
(43.1 Kb, 4 просмотров)
Тип файла: jpg Пасивная кпопка - активный счетчик.JPG
(43.9 Kb, 3 просмотров)
Тип файла: jpg Информация про окно от WinSight.JPG
(77.6 Kb, 3 просмотров)

2 El Scorpio
Звучит нелепо, но смыл не в том чтобы пользоваться Alcohol , смысл в том чтобы закрыть это окно! Я же писал выше
Цитата D@n1k007:
мне это нужно как полигон для обучения »
У меня появилась идея, только возник ряд проблем и без помощи мне не обойтись:
Код: Выделить весь код
var h1, h2: hwnd;
...
begin
  h1 := FindWindow(nil, 'О программе - Alcohol 120%');
  h2 := FindWindowEx(h1, 0, 'TButton', '&OK');
  showmessage(inttostr(h2));
end;
Этим кодом я хочу найти кнопку ОК, но при попытке ее найти всегда возвращается 0. Пробовал печатать - "ОК" и по-русски и по-английски, пробовал получать ответ когда кнопка пассивна и активна, результат всегда 0
Что я делаю не так? (Пробовал с другим приложением тоже не смог найти кнопку)
Прилагаю картинки!

Отправлено: 21:59, 15-02-2010 | #7

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


1) А сначала TPanel если поискать (а на нём TButton)?
2) Победил таймер?
ничё у тебя оперативки то! hypernate.sys наверное половину загрузочного раздела занимает
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:29, 15-02-2010 | #8


ИО Капитана Очевидности


Contributor


Сообщения: 5383
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Цитата D@n1k007:
Этим кодом я хочу найти кнопку ОК, но при попытке ее найти всегда возвращается 0. Пробовал печатать - "ОК" и по-русски и по-английски, пробовал получать ответ когда кнопка пассивна и активна, результат всегда 0 »
А*если циклом считать текстовые свойства всех экранных элементов?
Глядишь, что-нибудь интересное найдётся.

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:20, 16-02-2010 | #9


Аватара для D@n1k007

Старожил


Сообщения: 181
Благодарности: 5

Профиль | Отправить PM | Цитировать


Сейчас расскажу суть моей идеи:
Я хотел с помощью кода, приведенного ниже, активировать кнопку ОК, в надежде что нажав на нее окно закроется, но увы... Кнопка стала активной, окно не закрылось!
Код: Выделить весь код
begin
h1 := FindWindow(nil, 'О программе - Alcohol 120%');
h3 := FindWindowEx(h1, 0, 'TPanel', nil);
h2 := FindWindowEx(h3, 0, 'TButton', nil);
EnableWindow(h2, true);
end;
2 El Scorpio
Цитата El Scorpio:
А*если циклом считать текстовые свойства всех экранных элементов? »
Как это? Я еще не очень опытный в программировании, вы могли бы рассказать подробнее?

2 ALL
1. Как победить таймер? Как его можно поставить в значение 0? Может есть какие-то свойства/сообщения/доп. параметры для команды WM_TIMER (вообще уместно ли ее тут использовать)?
2. Можно ли узнать сообщение которое кнопка ОК посылает окну?

Отправлено: 16:37, 16-02-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Закрыть незакрываймое окно!

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Закрыть окно "Мастера обновления оборудования" igor_korn Автоматическая установка Windows 2000/XP/2003 6 25-01-2010 13:47
Закрыть окно IE через JavaScript Котяра Вебмастеру 4 18-04-2008 23:35
не могу нормально закрыть окно!! vl1639 Microsoft Windows 2000/XP 2 24-11-2006 22:30
CMD/BAT - Как закрыть окно bat (пакетного) файла сразу после запуска? Fuzzy_Logic Скриптовые языки администрирования Windows 1 05-11-2006 01:48
Как отослать форму и закрыть окно Igor_I Вебмастеру 4 22-01-2006 19:20




 
Переход