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

请问在DELPHI中如何调用EXE文件?

编辑:说三道四文库 发布时间:2018-06-23 08:55
HTML文档下载 WORD文档下载 PDF文档下载
请问在DELPHI中如何调用外部文件? 另如何调用WINDOWS 下的"文件查找"(可查找 

文章中的某些内容)? 请高手详细回答! 

const badresult='error';
      function _FileExec(const FileName:string;Params:string;
                         DefaultDir: string;ShowCmd: Integer
                         ): string;
         var zFileName, zParams, zDir: array[0..79] of Char;
         var exechandle:Thandle;
         begin
           exechandle := ShellExecute(0, nil,StrPCopy(zFileName, FileName), StrPCopy(zParams, Params),StrPCopy(zDir, DefaultDir), ShowCmd);
           case exechandle of
                0                      :result:=BadResult+'操作系统资源溢出!';
                ERROR_FILE_NOT_FOUND   :result:=BadResult+'指定的文件没有找到.';
                ERROR_PATH_NOT_FOUND   :result:=BadResult+'指定的文件路径没有找到.';
                ERROR_BAD_FORMAT       :result:=BadResult+'指定的.EXE文件非法(不是一个有效的Win32程序)';
                SE_ERR_ACCESSDENIED    :result:=BadResult+'操作系统拒绝访问指定的文件.';
                SE_ERR_ASSOCINCOMPLETE :result:=BadResult+'文件名的关联不完整或是一个非法关联';
                SE_ERR_DDEBUSY        :result:=BadResult+'其它DDE事务正在处理无法响应当前请求事务.';
                SE_ERR_DDEFAIL        :result:=BadResult+'事务失败';
                SE_ERR_DDETIMEOUT      :result:=BadResult+'由于请求时间超期,DDE 事务无法完成';
                SE_ERR_DLLNOTFOUND     :result:=BadResult+'指定的动态连接库没有找到';
                //SE_ERR_FNF        :result:=BadResult+'指定的文件没有找到.';
                SE_ERR_NOASSOC        :result:=BadResult+'没有与当前文件扩展名相关联的服务程序';
                SE_ERR_OOM        :result:=BadResult+'没有足够的内存来完成此操作';
                //SE_ERR_PNF        :result:=BadResult+'指定的文件路径没有找到';
                SE_ERR_SHARE        :result:=BadResult+'发生了一个访问共享冲突';
           else
               result:=inttostr(exechandle); //返回执行程序的句柄
           end;
         end;
creaeprocess()
用Winexec(Exe的路径+文件名,sw_show)
uses ......,ShellAPI;

......

shellexecute(0, 'open', 可执行文件名, 参数, nil, 0);
用winexec(文件名,窗体状态)即可
uses ......,ShellAPI;

.......
shellexecute(handle,'open','exe文件路径','','exe文件工作路径',SW_SHOWNORMAL) 

调用查找,不如自己做一个吧,用API,不过很繁,用Delphi处理文件系统也行啊。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘