我想知道ShellExceute执行成功还是失败,请问怎么得到?
解决方案 »
- 各位老大:关于delphi 不正常的定义参数对象,parameter 'name' not found
- 儿童节,散分。
- msado.dll错误-----高手请帮忙
- win98的客户机怎样获取win2000 server服务器时间
- 如何判断一个软件在本机上已经安装?
- 关于TChart控件的问题
- borlndmm.dll
- 哪有intall shield 下载(最新版本)?
- 我是菜鸟: ReportBuilder 中明细记录的序号怎么加?
- 谁来解释 msessagebox 中图标的详细解释
- 有谁知道PHOTOSHOP,FLASH这些软件是用什么工具开发的?
- ※※※★★醒目★★※※※:Delphi超级猛料CHM版发布
If the function fails, the return value is an error value that is less than or equal to 32. The following table lists these error values:Value Meaning
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 filename 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 filename extension.
SE_ERR_OOM There was not enough memory to complete the operation.
SE_ERR_PNF The specified path was not found.
SE_ERR_SHARE
var
StartInfo: TStartupInfo;
ProcInfo: TProcessInformation;
CmdLine: ShortString;
begin {Run a executable file and wait for it}
CmdLine := '"' + Filename + '" ' + Params; //Put the name of file between quotes, due to spaces in names of files in system Win9x
FillChar(StartInfo, SizeOf(StartInfo), #0);
with StartInfo do
begin
cb := SizeOf(StartInfo);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow := WinState;
end;
Result := CreateProcess(nil, PChar( String( CmdLine ) ), nil, nil, false,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
PChar(ExtractFilePath(Filename)),StartInfo,ProcInfo);
if Result then //Wait the finish of program
begin
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
CloseHandle(ProcInfo.hProcess); //Free the Handles
CloseHandle(ProcInfo.hThread);
end;
end;