shellExecute Call執行檔問題 |
尚未結案
|
kkglob
一般會員 發表:1 回覆:1 積分:0 註冊:2018-04-14 發送簡訊給我 |
以下兩種寫法:
1. shellExecute(Application.Handle,nil,pChar('GET_DATE.exe'),pChar('B' '' sCName '' sCID),nil,SW_HIDE); 2. shellExecute(Application.Handle,nil,pChar(ExtractFilePath(ParamStr(0)) 'GET_DATE.exe'),pChar('B' '' sCName '' sCID),nil,SW_HIDE); 結果第一個種編譯後去RUN,失敗, ERROR_FILE_NOT_FOUND, 第二種寫法就可以成功執行,請問差別在於哪裡? 第二種算是把整個執行檔路徑寫出來,但第一種有錯嗎?之前的code這樣寫都沒問題,之前可以現在怎麼要把整個路徑寫出來? 如果我想用第一種寫法我該檢查什麼呢才不會在Return Error(當下的程式和執行檔都在同一層),謝謝!! |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
kkglob
一般會員 發表:1 回覆:1 積分:0 註冊:2018-04-14 發送簡訊給我 |
|
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
因對方未指明是用 DIALOG 來選擇檔案, 所以未考慮這層關係, 而 DIALOG 有參數可以指定開啟時不要切換到實質的路徑, 取消就不會有這個現象, 詢問者可以參考副大的回文...
===================引 用 GrandRURU 文 章=================== 因為 Dialog 是優先讀取最後一次開啟的路徑 如果沒有指定,通常是以執行檔路徑開啟,若有先開啟其它路徑,則有可能會因此而開到該路徑而打不開 不過由於Windows環境變數太多,有關該預設路徑的細節可以參考相關 WinAPI 說明。 ===================引 用 kkglob 文 章=================== 對喔,都在同一層下,所以才納悶為什麼會找不到... 絕對路徑是不管怎樣都是絕對安全的寫法是吧 |
coolbabexx15
一般會員 發表:0 回覆:5 積分:1 註冊:2015-05-19 發送簡訊給我 |
編輯記錄
coolbabexx15 重新編輯於 2018-05-31 15:55:49, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |