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;
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;
shellexecute(handle,'open','exe文件路径','','exe文件工作路径',SW_SHOWNORMAL) 调用查找,不如自己做一个吧,用API,不过很繁,用Delphi处理文件系统也行啊。