delphi 中的关于SetTimer函数的使用 ( 积分: 25 )

  • 主题发起人 huangai93
  • 开始时间
H

huangai93

Unregistered / Unconfirmed
GUEST, unregistred user!
program&nbsp;Project1;<br><br>uses<br>shellapi,windows;<br>function&nbsp;open(hWnd:&nbsp;HWND;&nbsp;Operation,&nbsp;FileName,&nbsp;Parameters,<br>&nbsp;&nbsp;Directory:&nbsp;PChar;&nbsp;ShowCmd:&nbsp;Integer):HINST;stdcall<br>begin<br>&nbsp;&nbsp;shellexecute(0,'open','http://www.baidu.com',nil,nil,sw_show)&nbsp;;<br>end;<br>var<br>msg:tmsg;<br>h:HWND;<br>begin<br>h:=findwindow('IEFrame',nil);<br>settimer(0,1,1000,@open);<br>&nbsp;&nbsp;while&nbsp;(getmessage(msg,0,0,0)and&nbsp;(h=0))&nbsp;do<br>&nbsp;&nbsp;dispatchmessage(msg);<br>&nbsp;&nbsp;killtimer(0,1);<br>end.&nbsp;<br>为什么,当进程中没有IE进程的时候,会运行IE且不断的刷新,如果有IE进程就直接退出,怎么修改才能是IE启动后不在更新,当IE没有的时候有自动扫描
 
while循环是满足才循环
 
不对,我都加句柄判断了
 
while&nbsp;(getmessage(msg,0,0,0)and&nbsp;(h=0))&nbsp;do<br>实质上就是一个死循环...while&nbsp;true&nbsp;do也可以实现呀~~
 
你的这一句程序并不在循环中h:=findwindow('IEFrame',nil);<br>得到的是初始化时候系统的情况!<br>这样应该可以!<br>h:=findwindow('IEFrame',nil);<br>&nbsp;&nbsp;while&nbsp;h&lt;&gt;0&nbsp;do<br>&nbsp;h:=findwindow('IEFrame',nil);<br>open();
 
顶部