在DELPHI中如何调用其他的应用程序.(20分)

  • 主题发起人 主题发起人 zl1980
  • 开始时间 开始时间
Z

zl1980

Unregistered / Unconfirmed
GUEST, unregistred user!
如何运行,如何关闭其他应用程序.<br>例如我要运行一个D盘的EXE文件,该如何操作.
 
shell &nbsp;api<br><br>ShellExecute(0,Nil,Pchar(extractfilepath(application.ExeName)+'hover.CHM'),Nil,Nil,SW_NORMAL);
 
例子:<br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>&nbsp; &nbsp; &nbsp;Winexec('E:/WorkProm/Delphi/DongFang/Code/hospital.exe',sw_shownormal);<br>end;<br>
 
使用ShellExecute就可,它可以打开各式各样的文件,如.udl/txt/exe等等很多啦<br>如直接设置数据连接<br>ShellExecute(NULL, "open", "c://dsn.udl", NULL,NULL, SW_SHOWNORMAL);<br>调用exe只需将"c://dsn.udl"改成你要执行的exe文件路径就ok.<br>此外还可以利用它来实现组件在程序中注册/反注册如:<br>ShellExecute(Handle,NULL,“regsvr32.exe”,“*.ocx”,NULL,SW_SHOWNORMAL);<br>具体的参数语法你可查SDK.
 
ShellExecute使用它前需要在哪里声明,怎样声明.
 
在uses中假如 shellapi
 
ShellExecute(0,Nil,Pchar(extractfilepath(application.ExeName)+'hover.CHM'),Nil,Nil,SW_NORMAL); <br><br>uses 里加入:shellapi
 
楼上清楚了加一个createprocess
 
以上讲的都是如何运行?使用WINEXEC、SHELLEXCUTE、CREATEPROCESS<br>都可以,但如何关闭呢?自己编写的程序好说,可以通过发送自定义消息<br>来关闭,如果不是自己编写的,那比较麻烦,要用到不少API函数,如<br>FindWindow等。
 
是不是可以用<br>PostMessage(FindWindow(classname,winname),WM_DESTROY,wparam,0)<br>处理关闭的消息
 
多人接受答案了。
 
后退
顶部