吴
吴剑明
Unregistered / Unconfirmed
GUEST, unregistred user!
有一个线程,要求程序启动时是挂起睡大觉的。
当接收到某个消息后,就醒来干活,干完后再睡。
我声明一个消息: WM_WJM,
在程序启动时先SUSPEND,拦截到消息后RESUME。
之后就不知怎么办了。
const
wm_wjm = wm_user + 100;
procedure mymsg(var msg : TMEssage);message wm_wjm;
var
Form1: TForm1;
a : Tmh;
procedure TForm1.mymsg(var msg : TMEssage);
begin
a.Resume;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
a := TMH.Create(true);
a.Suspend ;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
sendmessage(form1.handle,wm_wjm,0,0);
end;
线程在这里干活
procedure Tmh.Execute;
begin
{ Place thread code here }
showmessage('hello');
suspend;
end;
end.
按下发消息的按钮一后,没反映。再按一次,就显示(HELLO)了,然后再按N次,就再
也没反应了。
醒不来了。
当接收到某个消息后,就醒来干活,干完后再睡。
我声明一个消息: WM_WJM,
在程序启动时先SUSPEND,拦截到消息后RESUME。
之后就不知怎么办了。
const
wm_wjm = wm_user + 100;
procedure mymsg(var msg : TMEssage);message wm_wjm;
var
Form1: TForm1;
a : Tmh;
procedure TForm1.mymsg(var msg : TMEssage);
begin
a.Resume;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
a := TMH.Create(true);
a.Suspend ;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
sendmessage(form1.handle,wm_wjm,0,0);
end;
线程在这里干活
procedure Tmh.Execute;
begin
{ Place thread code here }
showmessage('hello');
suspend;
end;
end.
按下发消息的按钮一后,没反映。再按一次,就显示(HELLO)了,然后再按N次,就再
也没反应了。
醒不来了。