-
Начинающий (21.02.08 11:14) [0]Такой простой вопрос.
Где происходит обработка нажатия на кнопку "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. -
Игорь Шевченко © (21.02.08 11:50) [1]
> Кто обрабатывает нажатие на кнопку в MessageBox
Сидит в винде маленький демон, когда вызывается MessageBox, его пинают в спину, он начинает следить за окном этого MessageBox, когда нажимают на кнопку, он закрывает окно. -
> Где происходит обработка нажатия на кнопку "Ok" при вызове
> MessageBox(...) в приложениях, не имеющих цикла обработки
> сообщений ?
В недрах одной из DLL Windows. И цикл сообщений и оконная процедура там. -
Начинающий (22.02.08 16:49) [3]Большое человеческое спасибо :)
Про демона понравилось :)))
Значит перехватить никак :( -
> Значит перехватить никак :(
Почему же? Очень даже как. Подмени оконную процедуру окна и всего делов. Это несложно. -
leshyi (09.05.08 00:02) [5]а проще напиши свою ф-ю MyMessageBox..
-
Германн © (09.05.08 00:15) [6]Вот как раз и наглядный пример "некроманта", о которых говорил сегодня sniknik :)