ShellExecute 呼叫其它執行檔 |
答題得分者是:hagar
|
cyl
中階會員 發表:163 回覆:171 積分:66 註冊:2002-07-11 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
加上絕對路徑試試, 例:
begin ShellExecute(0, PChar('open'), PChar('C:\xxx.exe 1 2 3'), nil, nil, SW_SHOW); end;不然, 用如下的方式來檢查執行不成功的原因: var i: integer; begin i := ShellExecute(0, PChar('open'), PChar('C:\xxx.exe 1 2 3'), nil, nil, SW_SHOW); if i < 32 then ShowMessage(SysErrorMessage(GetLastError)); end;-- 將進酒 杯莫停 與君歌一曲 請君為我傾耳聽 (hagar@gcn.net.tw) |
cyl
中階會員 發表:163 回覆:171 積分:66 註冊:2002-07-11 發送簡訊給我 |
我有加絕對路徑,出現找不到檔案
但是真的把後面參數1 2 3 拿掉就呼叫的到,不知道怎麼了
還是被呼叫的那隻程式還要設定些什麼
我只有寫
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := 0 to ParamCount-1 do begin if ParamStr(i) = '1' then
showmessage('參數為1')
else if ParamStr(i) = '2' then
showmessage('參數為 2')
else if ParamStr(i) = '3' then
showmessage('參數為 3');
end;
end; 發表人 - cyl 於 2003/02/14 19:10:39
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
cyl
中階會員 發表:163 回覆:171 積分:66 註冊:2002-07-11 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
看 Shellexecute 的宣告(注意紅色的):
HINSTANCE ShellExecute(
HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
); --
將進酒 杯莫停 與君歌一曲 請君為我傾耳聽
(hagar@gcn.net.tw)
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |