線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2211
推到 Plurk!
推到 Facebook!

ShellExcute問題

答題得分者是:taishyang
faizsingying
一般會員


發表:2
回覆:1
積分:0
註冊:2009-09-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-11-02 20:37:35 IP:122.123.xxx.xxx 訂閱
        各位好,小弟有各個問題請教。小弟想在自己寫的程式中呼叫一個.exe檔案,也上網找了一些資料。
最後決定採用ShellExcute來作,不過在測試的過程中遇到問題。我的程式碼如下:編譯完之後點選該Button
發現卻沒有回應?另外我也有用NOTEPAD.exe試著去開啟一個文字檔,不過也是遇到同樣的問題。
所以是用法有錯誤嗎?還是有其它的問題我疏忽了呢?煩請版上各位前輩能解答小弟的問題,感激不盡!!
[code cpp]
void __fastcall TForm1::Button1Click(TObject *Sender)
{

ShellExecute(NULL, "open", "C:\執行檔所在資料夾\FlashTools.exe", "", NULL, SW_SHOWNORMAL);
}
[/code]

[code cpp]
void __fastcall TForm1::Button1Click(TObject *Sender)
{

ShellExecute(NULL, "open", "C:\WINDOWS\NOTEPAD.exe", "C:\aaa.txt", NULL, SW_SHOWNORMAL);
}

[/code]
編輯記錄
faizsingying 重新編輯於 2009-11-02 20:38:45, 註解 無‧
taishyang
站務副站長


發表:377
回覆:5485
積分:4552
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-11-02 21:23:14 IP:122.116.xxx.xxx 訂閱
斜線要兩個
ShellExecute(NULL, "open", "C:\\WINDOWS\\NOTEPAD.exe", "C:\\aaa.txt", NULL, SW_SHOWNORMAL);
faizsingying
一般會員


發表:2
回覆:1
積分:0
註冊:2009-09-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-11-03 14:10:28 IP:220.130.xxx.xxx 訂閱
     感謝taishyang前輩的回覆,已經可以了。所以說斜線要兩個的原因是因為"\\"在解析後才會變成"\",才有辦法正常執行吧。

[code cpp]
void __fastcall TSNForm::Button2Click(TObject *Sender)
{

//更改前
//ShellExecute(NULL, "open", "C:\WINDOWS\NOTEPAD.exe", "C:\aaa.txt", NULL, SW_SHOWNORMAL);
//更改後
//ShellExecute(NULL, "open", "C:\\WINDOWS\\NOTEPAD.exe", "C:\\aaa.txt", NULL, SW_SHOWNORMAL);
}
[/code]

系統時間:2017-10-20 9:29:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!