執行 外部指令 |
缺席
|
chiehjj
初階會員 發表:21 回覆:63 積分:26 註冊:2002-12-31 發送簡訊給我 |
|
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
|
zhouying82
高階會員 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
|
chiehjj
初階會員 發表:21 回覆:63 積分:26 註冊:2002-12-31 發送簡訊給我 |
|
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
[code delphi] function RUN_EXE(const exe_file, exe_params: String; const WaitTime:Integer=0): Boolean; var TryTimes: Integer; ExitCode: cardinal; ExecInfo: TShellExecuteInfo; begin ZeroMemory(@ExecInfo,SizeOf(ExecInfo)); with ExecInfo do begin cbSize := SizeOf(ExecInfo); fMask := SEE_MASK_NOCLOSEPROCESS; lpVerb := 'open'; // lpDirectory:= PChar(exe_path); lpParameters:= PChar(exe_params); lpFile := PChar(exe_file); // Wnd := Handle; nShow := SW_HIDE; end; if WaitTime=0 then TryTimes:= 9999 else TryTimes:= WaitTime* 10; ShellExecuteEx(@ExecInfo); GetExitCodeProcess(ExecInfo.hProcess,ExitCode); while (ExitCode=STILL_ACTIVE) and (TryTimes>0) do begin GetExitCodeProcess(ExecInfo.hProcess, ExitCode); Sleep(100); Application.ProcessMessages; TryTimes:= TryTimes- 1; end; Result := (TryTimes>0); end; [/code] |
chiehjj
初階會員 發表:21 回覆:63 積分:26 註冊:2002-12-31 發送簡訊給我 |
|
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
試試看, RUN_EXE('c:\tlibimp.EXE','A c:\comdlg32.OCX',0)
===================引 用 chiehjj 文 章=================== 感謝幫忙,不過測試結果 RUN_EXE('c:\tlibimp.EXE','A C:\comdlg32.OCX',0);無法正確run, run_exe內的exe_parama僅有一個參數, 對於2個參數RUN_EXE('c:\tlibimp.EXE','A', 'c:\comdlg32.OCX',0)無法compile
編輯記錄
max5020 重新編輯於 2009-06-18 09:45:27, 註解 無‧
|
chiehjj
初階會員 發表:21 回覆:63 積分:26 註冊:2002-12-31 發送簡訊給我 |
|
chiehjj
初階會員 發表:21 回覆:63 積分:26 註冊:2002-12-31 發送簡訊給我 |
欉網路上搜了下式可以用了,感謝zhouying82及max兄的提示謝謝
procedure TForm1.Button2Click(Sender: TObject); var sei : TShellExecuteInfo; begin ZeroMemory(@sei, sizeof(sei)); with sei do begin cbSize := SizeOf(sei); fMask := SEE_MASK_NOCLOSEPROCESS; Wnd := Form1.Handle; lpVerb := 'open'; lpFile := PChar('C:\tlibimp.exe'); lpParameters := PChar('c:\comdlg32.ocx'); lpDirectory := PChar('C:\'); nShow := SW_SHOWNORMAL; end; ShellExecuteEX(@sei); end; |
chiehjj
初階會員 發表:21 回覆:63 積分:26 註冊:2002-12-31 發送簡訊給我 |
從網路上搜了下式可以用了,感謝zhouying82及max兄的提示謝謝
procedure TForm1.Button2Click(Sender: TObject); var sei : TShellExecuteInfo; begin ZeroMemory(@sei, sizeof(sei)); with sei do begin cbSize := SizeOf(sei); fMask := SEE_MASK_NOCLOSEPROCESS; Wnd := Form1.Handle; lpVerb := 'open'; lpFile := PChar('C:\tlibimp.exe'); lpParameters := PChar('c:\comdlg32.ocx'); lpDirectory := PChar('C:\'); nShow := SW_SHOWNORMAL; end; ShellExecuteEX(@sei); end; |
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |