读书人

处理窗口消息方面的有关问题帮忙看看

发布时间: 2013-07-08 14:13:00 作者: rapoo

处理窗口消息方面的问题,帮忙看看,谢谢!
处理窗口消息方面的问题,帮忙看看,谢谢!

在弄一个消息过程,就像ShowMessage(''); 这个内部函数处理的效果差不多。
意思就是说弹出msgbox框后,鼠标是不能响应底层窗口的。只能活动msgbox。

需求是这样:
如,打开计算器(可以说是某个线程吧)后,底层窗口(母体)消息处理后,母体已经失去(并非假死或卡死)响应了,计算器是活动区。 最后,计算器关掉后母体恢复活动。


如果我解释的不清楚的话,如同这种效果:
MessageBox(0,0,0,0);

MessageBox(Application.Handle,0,0,0);

希望帮忙解决一下这个问题。谢谢!
[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
var
h: HWND;
begin
Enabled := False;

WinExec('calc', SW_SHOW);
repeat
Sleep(100);
Application.ProcessMessages;
h := FindWindow('SciCalc', '计算器');
until h=0;

Enabled := True;
end;
[解决办法]
模式窗口显示 form.ShowModal

读书人网 >.NET

热点推荐