delphi怎样调用外部EXE文件

delphi怎样调用外部EXE文件,第1张

delphi 调用外部 EXE 程序,可以使用以下办法:

一、使用 WinExec 函数示例代码:

WinExec('calc.exe',SW_NORMAL) //打开计算器

二、使用 ShellExecute 函数,示例:

ShellExecute(handle,'open','c:/myapp/myapp.exe','-s',',SW_SHOWNORMAL)

调用下面的WinExecAndWait32 函数即可。

function  WinExecAndWait32(FileName:String  Visibility  :  integer):  DWORD  

var  

        zAppName:array[0..512]  of  char

        zCurDir:array[0..255]  of  char

        WorkDir:String

        StartupInfo:TStartupInfo

        ProcessInfo:TProcessInformation

begin

        StrPCopy(zAppName,FileName)

        GetDir(0,WorkDir)

        StrPCopy(zCurDir,WorkDir)

        FillChar(StartupInfo,Sizeof(StartupInfo),#0)

        StartupInfo.cb  :=  Sizeof(StartupInfo)

        StartupInfo.dwFlags  :=  STARTF_USESHOWWINDOW

        StartupInfo.wShowWindow  :=  Visibility

        if  not  CreateProcess(

        nil,

        zAppName,  {  pointer  to  command  line  string  }

        nil,  {  pointer  to  process  security  attributes  }

        nil,  {  pointer  to  thread  security  attributes  }

        false,  {  handle  inheritance  flag  }

        CREATE_NEW_CONSOLE  or  {  creation  flags  }

        NORMAL_PRIORITY_CLASS,

        nil,  {  pointer  to  new  environment  block  }

        nil,  {  pointer  to  current  directory  name  }

        StartupInfo,  {  pointer  to  STARTUPINFO  }

        ProcessInfo  {  pointer  to  PROCESS_INF  }

        )

        then  Result  :=  $FFFFFFFF  else  begin

                WaitforSingleObject(ProcessInfo.hProcess,INFINITE)

                GetExitCodeProcess(ProcessInfo.hProcess,Result)

        end

end

procedure TForm1.N9Click(Sender: TObject)

var i:integer

begin

     WinExecAndWait32('PAS2 >tempc2.txt',0)

     EXECUTEFILE('notepad.EXE','tempc2.txt','',sw_showmaximized)

end


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11158175.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存