Re: [Delphi6] закрыть message box
Привет, keel.
Вы писали 10 марта 2004 г., 15:28:15:
k> Здравствуйте!
k> Очень важная проблема:
k> каким образом можно программно закрыть message box(окошко с
k> инофрмацией)?
k> То есть идея такова: например при нажатии на кнопку выскакивает это
k> сообщение, потом оно тут же закрывается, чтобы это было невидно
k> пользователю?
k> Вот код:
k> k> procedure TForm1.Button1Click(Sender: TObject);
k> begin
k> ShowMessage('Hello');
k> {что нужно вставить тут чтобы сообщение Hello тут же закрылось?}
k> end;
k> k> Заголовок этого message box известен.
k> Очень надеюсь на вашу помощь, так как вопрос и в самом деле очень
k> важный для меня.
Эта программа закрывает наг-скрин от The Bat!, надеюсь разберешься:
program LoadBat;
{$APPTYPE CONSOLE}
uses
Windows,
Registry,
Messages;
var
hForm, hPanel, hButton: THandle;
begin
WinExec({'C:\Program Files\The Bat!\}'thebat.exe', SW_SHOW);
{
HWND FindWindow(
LPCTSTR lpClassName, // pointer to class name
LPCTSTR lpWindowName // pointer to window name
);
}
hForm:=FindWindow('TUnregForm', nil);
while hForm=0 do
begin
Sleep(100);
hForm:=FindWindow('TUnregForm', nil);
end;
{
HWND FindWindowEx(
HWND hwndParent, // handle to parent window
HWND hwndChildAfter, // handle to a child window
LPCTSTR lpszClass, // pointer to class name
LPCTSTR lpszWindow // pointer to window name
);
}
hPanel:=FindWindowEx(hForm, 0, 'TPanel', nil);
while hPanel=0 do
begin
Sleep(100);
hPanel:=FindWindowEx(hForm, 0, 'TPanel', nil);
end;
hButton:=FindWindowEx(hPanel, 0, 'TButton', 'ОК');
while hButton=0 do
begin
Sleep(100);
hButton:=FindWindowEx(hPanel, 0, 'TButton', 'ОК');
end;
// нажать кнопку
SendMessage(hButton, BM_CLICK, 0, 0);
end.