如何执行外部应用程序.50分.(50分)

  • 主题发起人 主题发起人 雨之子
  • 开始时间 开始时间

雨之子

Unregistered / Unconfirmed
GUEST, unregistred user!
哪位高手,肯帮我一下呀.<br>我现在做了一个应用程序,想通过一个按钮的OnClick事件,直接调用WINDOWS的就应用程序,比如说:想能过一个“升级”按钮直接调用服务器上的瑞星升级程序。
 
ShellExecute(handle, &nbsp;'Open','c:/rav/update.exe',nil, &nbsp;'c:/rav/', &nbsp;sw_Show);
 
同意楼上<br>或者用WINEXEC
 
unit Unit1;<br><br>interface<br><br>uses<br>&nbsp; Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br>&nbsp; Dialogs,shellapi, StdCtrls;<br><br>type<br>&nbsp; TForm1 = class(TForm)<br>&nbsp; &nbsp; Button1: TButton;<br>&nbsp; &nbsp; procedure Button1Click(Sender: TObject);<br>&nbsp; private<br>&nbsp; &nbsp; { Private declarations }<br>&nbsp; public<br>&nbsp; &nbsp; { Public declarations }<br>&nbsp; end;<br><br>var<br>&nbsp; Form1: TForm1;<br><br>implementation<br><br>{$R *.dfm}<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>ShellExecute(0,'open','notepad.exe','c:/winnt/system32/cmd.exe',nil,SW_SHOW);<br>end;<br><br>end.<br>
 
就是,就是
 
WinExec('外部程序名',执行方式);<br><br>如:执行 &nbsp;记事本<br>WinExec('C:/Windows/notepad.exe',3);<br><br>最后一个3是执行方式,可以在delphi环境里,输入WinExec后,按下Ctrl,用鼠标双击WinExec,在出现的页面中可以找到执行方式中的常数对应的意义。
 
谢谢你们.前面你们说得很好,关建是完了之后,如何判断升级成功.我想这样做,长级后,在c:/rav里查查看最新升级文件的名称.该如何做呀.<br>怎么在一个目录里一个文件是否存在.
 
&nbsp;if not fileexists('C:/rav/abc.exe') then<br>&nbsp; begin<br>&nbsp; &nbsp; MessageBox(handle,'abc文件不存在','提示',mb_ok or mb_iconerror);<br>&nbsp; &nbsp; exit;<br>&nbsp; end;<br>&nbsp; WinExec('C:/rav/abc.exe'',3);
 
//判断在一个目录里一个文件是否存在<br>&nbsp;if not fileexists(文件) then<br>&nbsp;begin<br>&nbsp; &nbsp;MessageBox(handle,'文件不存在','提示',mb_ok or mb_iconerror);<br>&nbsp; &nbsp;exit;<br>&nbsp;end;<br>&nbsp;
 
谢谢了.还有一个问题,如何取出opendialog打开的一个文件名字.不要文件路径,只要文件名称.然后把这个文件名称给到一个Edit1.text里面.
 
var <br>&nbsp; S:string;<br>&nbsp; Len:integer;<br>begin<br>&nbsp; &nbsp; S := opendialog1.FileName;<br>&nbsp; &nbsp; len:=length(S);<br>&nbsp; &nbsp; while Pos('/', S) &gt; 0 do<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; S:=copy(S, Pos('/', S)+1,len-Pos('/', S));<br>&nbsp; &nbsp; &nbsp; len:=length(S);<br>&nbsp; &nbsp; end;<br>&nbsp; &nbsp; Edit1.text:=S;<br>end;<br>
 
后退
顶部