Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];

Вниз

MessageBox   Найти похожие ветки 

 
HappyNewYearToAll   (2003-01-08 17:20) [0]

Ув. делферы!
Можно ли каким-либо образом вывести MessageBox без прерывания кода программы до закрытия этого окна?


 
R4D][   (2003-01-08 17:34) [1]

Если очень надо, то можно попробовать с помощью SetWindowsHookEx установить локальный hook на любую другую прогу(например Explorer) и в MsgProc"e в качестве обработчика сообщения(например, WM_USER+67) поставить вызов MessageBox. А твоя прога должна будет только послать PostMessage(HWND, WM_USER+67,0,0)
Вот пример:
program proga;

uses
Windows,Messages;

var
HookH : HWND;
HandleOfBrows: HWND;
ThreadOfEx : HWND;



function MsgProc(code: Integer; wparam: WParam; lparam: LParam):LResult; stdcall;
begin
if code=HC_ACTION then
begin
// Если пришедшее сообщение WM_USER+67, то продолжаем, иначе ничего не делаем
if TMsg(Pointer(lparam)^).message=WM_USER+50 then MessageBox(o, "That""s work!!!","",MB_OK)
// Передаем управление следующей установленной ловушке
Result:=CallNextHookEx(HookH, Code, wParam, lParam);
end;

begin
HandleOfBrows:=FindWindow(nil,"OleChannelWnd");
ThreadOfEx:=GetWindowThreadProcessId(HandleOfBrows,nil);
HookH:=SetWindowsHookEx(WH_GETMESSAGE,@MsgProc,HInstance,ThreadOfEx);
// Шлем сообщение WM_USER+67 найденному Explorer"у
PostMessage(HandleOfBrows,WM_USER+67,0,0);
// Ждем 10 мс для того, чтобы сообщение успело дойти до Explorer"a
sleep(10);
// Убираем ловушку
UnhookWindowsHookEx(HookH);
end;
end;
end.


 
Игорь Шевченко   (2003-01-08 17:47) [2]

Можно. Создать отдельное Popup-окно и показать его немодально :-)


 
mystang   (2003-01-10 11:32) [3]

Можно, если MessageBox вызывать из отдельного потока :)


 
MECHANIC   (2003-01-14 20:51) [4]

procedure TMainForm.Button1Click(Sender: TObject);
begin
MessageBox(HWND_DESKTOP, "That is what happens when you don""t go too far!", "Non modal", MB_OK)
end;


 
MECHANIC   (2003-01-14 20:54) [5]

Sorry, misunderstood this question.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
3-87248
D
2003-02-11 12:16
2003.02.27
Blob-поля


1-87386
Serghei
2003-02-17 15:26
2003.02.27
HasProperty ???


3-87340
BorisUK
2003-02-10 06:46
2003.02.27
ORA-12571


7-87728
Le!
2002-12-28 08:20
2003.02.27
Иконка в трее!


14-87645
KoHe4Ho }|{e 6ot
2003-02-10 17:31
2003.02.27
Пришлите мне Mshtml_tlb !





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский