delphi执行cmd命令和bat文件
cmd:='echo d | Xcopy '+BasePath+' '+TargetPath+' /s/e';
i:=ShellExecute(Handle,nil,'cmd.exe',PChar('/K '+cmd),nil,SW_HIDE);
ShellExecute(Handle,nil, 'cmd.exe',pchar('/C '+GetCurrentDir+'\build.bat'), nil, SW_HIDE);
执行命令前面加“/K”,执行bat文件前面加"/C"
delphi 调用openssl 完成公钥证书提取
var
ss,zs:string;
i:Integer;
begin
zs:='230B5******4681';
ss:='openssl x509 -in '+zs+'_wxp_cert.pem -pubkey -noout > '+zs+'_wxp_pub.pem';
i:=shellexecute(handle,nil,'cmd.exe',pchar('/k'+ss),nil,SW_hide);
if i>32 then
begin
memo1.Lines.add('执行成功: ' + IntToStr(i));
end
else
begin
memo1.Lines.add('执行失败: ' + IntToStr(i));
end;
解释一下ShellExecute 执行后的返回值
Returns a value greater than 32 if successful, or an error value that is less than or equal to 32 otherwise. The following table lists the error values. The return value is cast as an HINSTANCE for backward compatibility with 16-bit Microsoft? Windows? applications. It is not a true HINSTANCE, however. The only thing that can be done with the returned HINSTANCE is to cast it to an integer and compare it with the value 32 or one of the error codes below.
^^^^^^^^^^^^^^^^^^^^^
0 The operating system is out of memory or resources.
ERROR_FILE_NOT_FOUND The specified file was not found.
ERROR_PATH_NOT_FOUND The specified path was not found.
ERROR_BAD_FORMAT The .exe file is invalid (non-Win32? .exe or error in .exe image).
SE_ERR_ACCESSDENIED The operating system denied access to the specified file.
SE_ERR_ASSOCINCOMPLETE The file name association is incomplete or invalid.
SE_ERR_DDEBUSY The DDE transaction could not be completed because other DDE transactions were being processed.
SE_ERR_DDEFAIL The DDE transaction failed.
SE_ERR_DDETIMEOUT The DDE transaction could not be completed because the request timed out.
SE_ERR_DLLNOTFOUND The specified dynamic-link library was not found.
SE_ERR_FNF The specified file was not found.
SE_ERR_NOASSOC There is no application associated with the given file name extension. This error will also be returned if you attempt to print a file that is not printable.
SE_ERR_OOM There was not enough memory to complete the operation.
SE_ERR_PNF The specified path was not found.
SE_ERR_SHARE A sharing violation occurred.
© 版权声明
文章版权归作者所有,未经允许请勿转载。