用ShellExecute调用其它windows程序,为何用了参数SW_hide都不能隐藏。 ( 积分: 50 )

  • 主题发起人 主题发起人 gzliangmeng
  • 开始时间 开始时间
G

gzliangmeng

Unregistered / Unconfirmed
GUEST, unregistred user!
用ShellExecute调用其它windows程序<br>如下:<br>ShellExecute(Handle,'open','C:/Documents and Settings/me/桌面/Project1.exe','','',SW_hide);<br>但被调用的程序Project1.exe并未隐藏,何解?<br>我用的是XP,D7
 
用ShellExecute调用其它windows程序<br>如下:<br>ShellExecute(Handle,'open','C:/Documents and Settings/me/桌面/Project1.exe','','',SW_hide);<br>但被调用的程序Project1.exe并未隐藏,何解?<br>我用的是XP,D7
 
你如果是想Form隐藏的话需要这样写<br>procedure TForm1.FormActivate(Sender: TObject);<br>begin<br> &nbsp;form1.Width:=0;<br> &nbsp;form1.Height:=0;<br> &nbsp;ShowWindow(Application.Handle,SW_HIDE);<br>end;<br><br>然后设置窗体的BorderStyle属性为bsNone即可<br><br>但我不大明白你现在的用意?
 
那你用<br>SW_MINIMIZE<br>SW_SHOWMINISIZE
 
http://www.delphibbs.com/delphibbs/dispq.asp?LID=861499
 
为什么不用 createprocess 呢,更好用
 
用createprocess管用
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3013229
 
为什么不能隐藏程序的原因是因为你调用的程序不止一个窗体或创建的主窗体不是他默认的显示窗体(象很多有屏幕溅射的程序),如果你调用命令行CMD、记事本、计算器这样的单窗口程序是可以,但有些程序就不是这样简单了,如果你要隐藏必须要运行后确定它的显示窗体,然后用showwindow(handle,hide)来。
 
后退
顶部