![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кто обрабатывает нажатие на кнопку в MessageBox ? [D7, WinXP]
Начинающий © (2008-02-21 11:14:00)Такой простой вопрос.
Где происходит обработка нажатия на кнопку "Ok" при вызове MessageBox(...) в приложениях, не имеющих цикла обработки сообщений ?
И можно ли из другой программы нажать на эту кнопку ?
Пример кода:
{$APPTYPE CONSOLE}
program Project1;
uses Windows, SysUtils;
{$R *.RES}
var
i: integer;
begin
for i := 0 to 9 do begin
// ...
MessageBox(0, 'sometext', '', MB_OK or MB_ICONINFORMATION);
end;
end.
Германн (2008-05-09 00:15:00) [1]Вот как раз и наглядный пример "некроманта", о которых говорил сегодня sniknik :)
leshyi (2008-05-09 00:02:00) [2]а проще напиши свою ф-ю MyMessageBox..
DVM (2008-02-23 18:34:00) [3]
> Значит перехватить никак :(
Почему же? Очень даже как. Подмени оконную процедуру окна и всего делов. Это несложно.
Начинающий (2008-02-22 16:49:00) [4]Большое человеческое спасибо :)
Про демона понравилось :)))
Значит перехватить никак :(
DVM (2008-02-21 17:26:00) [5]
> Где происходит обработка нажатия на кнопку "Ok" при вызове
> MessageBox(...) в приложениях, не имеющих цикла обработки
> сообщений ?
В недрах одной из DLL Windows. И цикл сообщений и оконная процедура там.
Игорь Шевченко (2008-02-21 11:50:00) [6]
> Кто обрабатывает нажатие на кнопку в MessageBox
Сидит в винде маленький демон, когда вызывается MessageBox, его пинают в спину, он начинает следить за окном этого MessageBox, когда нажимают на кнопку, он закрывает окно.