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

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

Мастера подскажите как определить появилось информационное окно [D7, XP]


Aleks ©   (2006-01-22 16:32:00) 

Доброго времени суток, Мастера пожалуйста.
Есть программа которая при определённом событии выдаёт информационное окно, с одной кнопкой (ОК).
Как определить появилось информационное окно если да то нажать на кнопку.


Aleks   (2006-01-23 16:51:00) [1]

Какое есть :), но не чего противозаконного))


msguns   (2006-01-23 16:23:00) [2]

Очень подозрительное желание.


Aleks   (2006-01-23 16:19:00) [3]

Да совершенно верно ''другую программу''

Это две разные программы.
Одну из них и надо написать.


msguns   (2006-01-23 13:47:00) [4]

Прошу прощения, пропустил
"Необходимо написать другуюпрограмму которая бы.."


Leonid Troyanovsky   (2006-01-23 13:18:00) [5]


> msguns ©   (23.01.06 13:08) [5]
> Леня, мне не совсем понятно, зачем нужно это мелькание непонятного
> окна.


WM_INITDIALOG приходит до показа. Т.е., при желании можно и
не показывать. Но, заказывали именно нажать.


> Не лучше ли отловить причину его появления ?.


Может быть, может быть.

--
Regards, LVT.


msguns   (2006-01-23 13:08:00) [6]

Леня, мне не совсем понятно, зачем нужно это мелькание непонятного окна.
Не лучше ли отловить причину его появления ?.


Leonid Troyanovsky   (2006-01-23 12:51:00) [7]


> Aleks ©   (23.01.06 09:51) [2]

>  Необходимо написать другую программу которая бы отслеживала
> появление информационного окна в программе INFO, и при появление
> его нажимала кнопку на нём.


Например, если окно - диалог

http://groups.google.com/group/fido7.ru.delphi/msg/e574b451a522c210

--
Regards, LVT.


msguns   (2006-01-23 11:29:00) [8]

Видимо, речь идет о "заглатывании" некоторого сообщения, которое выдается "системой" ?
Код в программе, приводящий к появлению этого сообщения, надо поместить в блок try.. except. "Свое" сообщение выдавать в секции except с помощью того же ShowMessage либо "молча" игнорировать, не показывая никаких формочек.


Aleks   (2006-01-23 09:51:00) [9]

Я извиняюсь, не верно задал свой вопрос.
Есть программа (например с именем INFO) которая при определённом событии выдаёт информационное окно, с одной кнопкой (ОК).
 Необходимо написать другую программу которая бы отслеживала появление информационного окна в программе INFO, и при появление его нажимала кнопку на нём.


SergProger   (2006-01-23 02:41:00) [10]

function MessageDlg(const Msg: String; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Word;

Отображает диалог типа DlgType с сообщением, указываемым параметром Msg, и с кнопками, указываемыми параметром Buttons. Параметр HrlpCtx определяет ID контекста справки.
Параметр DlgType может определять различные типы диалогов, содержащие следующие изображения: mtError, mtConfirmation, mtWarning, mtInformation, без изображения - mtCustom.
Параметр Buttons указывается множеством типа TMsgDlgDtn, которое определяет следующие кнопки: mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp, mbYesNoCancel, mbOKcancel, mbAbortRetryIgnore. Для того, чтобы указать несколько кнопок, следует использовать операцию + или перечислить их всех в квадратных скобках и через запятую. Например, mbOK+mbHelp или [mbOK,mbHelp].
Функция возвращает одно из следующих значений, определяющих выбранную пользователем кнопку: mrNone, mrAbort, mrYes, mrOK, mrRetry, mrNo, mrCancel, mrIgnore, mrAll.
Пример:

procedureTForm1.Button1Click(Sender: TObject);
begin
  IfMessageDlg('Завершить приложение?',mtConfirmation,[mbYes,mbNo],0) = mrYes then begin
   MessageDlg('Приложение завершено.',mtInformation,[mbOK],0);
   Form1.Close;
  end;
end;


Наверх

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