说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

delphi中如何调用一个*.exe文件

编辑:说三道四文库 发布时间:2018-07-18 10:45
HTML文档下载 WORD文档下载 PDF文档下载

谁知道在delphi中, 如何打开一个可执行文件.

像vb中的 Shell()
  api 中的 CreateProcess()
谢谢
ShellExecute(handle,'open',PChar('E:\dd.exe'),nil,nil,SW_SHOW);
Winexec()
winexec(pchar('aa.exe'),SW_HIDE);
var ch9:string;
begin
ch9:=ExtractFilePath(Application.ExeName);
ShellExecute(handle, 'Open',pchar(ch9+'KeyHook\KeyHook.exe'),nil, pchar(ch9+'KeyHook\'), sw_Show);
end;
uses shellapi
shellexecute(handle,nil,pchar(filepath),nil,nil,sw_shownormal);

winexec(filepath,sw_show)
WinExec("C:\Program Files\MyApp", ShowWindow)

showwindow的取值:

SW_FORCEMINIMIZE: Windows 2000 or later: Minimizes a window, even if the thread that owns the window is hung. This flag should only be used when minimizing windows from a different thread. 
SW_HIDE :Hides the window and activates another window. 
SW_MAXIMIZE: Maximizes the specified window. 
SW_MINIMIZE :Minimizes the specified window and activates the next top-level window in the Z order. 
SW_RESTORE :Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window. 
SW_SHOW Activates the window and displays it in its current size and position.  
SW_SHOWDEFAULT Sets the show state based on the SW_ value specified in the STARTUPINFO structure passed to the CreateProcess function by the program that started the application.  
SW_SHOWMAXIMIZED Activates the window and displays it as a maximized window. 
SW_SHOWMINIMIZED Activates the window and displays it as a minimized window. 
SW_SHOWMINNOACTIVE Displays the window as a minimized window. 
This value is similar to SW_SHOWMINIMIZED, except the window is not activated.
 
SW_SHOWNA Displays the window in its current size and position. 
This value is similar to SW_SHOW, except the window is not activated.
 
SW_SHOWNOACTIVATE Displays a window in its most recent size and position. 
This value is similar to SW_SHOWNORMAL, except the window is not actived.
 
SW_SHOWNORMAL Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first tim 

学习~~~~~~~~~~```
uses ....ShellAPI,.... 

begin 
   ....
   ShellExecute(Application.Handle,PChar('open'),PChar('iexplore.exe'),PChar('www.sina.com.cn'),nil,SW_NORMAL);
...
end;
谢谢大家
ShellEcecute是API函数调用时应注意使用PChar, 为空时应用 nil 而不是 ''

如:
  ShellExecute(Application.Handle,
     nil,
     PChar('C:\aaa.exe'),
     PChar('Parameter '),
     nil,
     SW_SHOW);

2::
procedure TAboutBox.LabelClick(Sender: TObject);
begin
  ShellExecute(handle, Pchar('open'),Pchar('mailto :你的邮件地址'),Pchar(''), Pchar(''), SW_SHOWNORMAL);
end;

上面的就可以通过点击文本达到调用默认邮件程序的目的,其他的不一而论。
调用浏览器,等等。
该过程启动记事本

procedure TForm1.Button1Click(Sender: TObject);
var ProcessInformation : TprocessInformation ;
    startinfo :TSTARTUPINFO;
begin
  FillChar(startinfo, SizeOf(TSTARTUPINFO),#0);
  startinfo.dwFlags     := STARTF_USESHOWWINDOW;
  startinfo.wShowWindow := SW_SHOW;
  startinfo.cb := sizeof(TSTARTUPINFO);
  CreateProcess(nil,'notepad.exe',nil,nil,false,0,nil,nil,startinfo,
                 ProcessInformation);
end;
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘