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

ShellExecute與WinExec執行的問題

尚未結案
chengwei
一般會員


發表:18
回覆:9
積分:5
註冊:2005-04-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-28 16:41:27 IP:140.116.xxx.xxx 未訂閱
我在使用ShellExecute或WinExec執行外部指令時,在使用OpenPictureDialog開啟圖形即不會成功執行外部指令,也沒有出現錯誤訊息,只有在程式一開始以imag物件設定picture的圖形才能由ShellExecute或WinExec執行外部指令成功 程式碼如下,可有解決的方法?  
 
SrcImage->Picture->SaveToFile("D:\\progressiveJPEG\\tmpimage.bmp");
   ShellExecute(Handle,"open","D:\\progressiveJPEG\\cjpeg.exe","-progressive tmpimage.bmp progimage.jpeg",NULL,SW_HIDE);
   \\WinExec("D:\\progressiveJPEG\\cjpeg.exe -progressive tmpimage.bmp progimage.jpeg",SW_SHOWMAXIMIZED);
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-28 17:08:15 IP:61.140.xxx.xxx 未訂閱
chengwei 您好:    由您貼上來的程式碼並無法看出與 "使用OpenPictureDialog開啟圖形" 動作的關連性為何? 如果您已經確認其它的動作沒有問題,問題就僅出在您貼上來的這兩行敘述,那麼您可能需要先確定 SrcImage->Picture 的內容是否已經經過設定?如果沒有的話,那個 SaveToFile() 的動作並不會產生您要的檔案,因此後續與該檔案有關的動作自然就不能正常運作了,況且您在執行 ShellExecute() 時設定的參數是 SW_HIDE,這將使您看不到被呼叫程式執行時產生的相關訊息 (例如:File not found)。 發表人 - RedSnow 於 2005/05/28 17:11:32
chengwei
一般會員


發表:18
回覆:9
積分:5
註冊:2005-04-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-28 17:12:14 IP:140.116.xxx.xxx 未訂閱
RedSnow 你好: SrcImage->Picture->SaveToFile的動作是有完成的.
chengwei
一般會員


發表:18
回覆:9
積分:5
註冊:2005-04-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-28 17:18:11 IP:140.116.xxx.xxx 未訂閱
SORRY ; 完整的程式是  
 if (OpenPictureDialog1->Execute()){
       SrcImage->Picture->LoadFromFile(OpenPictureDialog1->FileName);
   }
 SrcImage->Picture->SaveToFile("D:\\progressiveJPEG\\tmpimage.bmp");
 ShellExecute(Handle,"open","D:\\progressiveJPEG\\cjpeg.exe","-progressive tmpimage.bmp progimage.jpeg",NULL,SW_HIDE);
 
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-28 18:30:53 IP:61.140.xxx.xxx 未訂閱
chengwei 您好:    我剛才做了一下測試,測試碼如下:
if (OpenPictureDialog1->Execute()){
    SrcImage->Picture->LoadFromFile(OpenPictureDialog1->FileName);
}    SrcImage->Picture->SaveToFile("C:\\tmpimage.bmp");
ShellExecute(Handle,"open","mspaint.exe","C:\\tmpimage.bmp",NULL,SW_SHOW);
我不知道您測試的是那支程式?因此我改用小畫家來測試,SrcImage 並未預先載入任何圖像資料,測試結果是 OK 的。 會不會是其它的問題導致的?要不您使用除錯模式單步追蹤一下,看看每個步驟的相關資訊 (函數傳回值、變數內含值....) 是否都正確? 補充一下,我想到另外一個可能性,那就是路徑的問題,您不妨試著將 ShellExecute 裡邊有關檔案的參數都加上絕對路徑,或許問題是出在這裡。 發表人 - RedSnow 於 2005/05/28 18:33:23
chengwei
一般會員


發表:18
回覆:9
積分:5
註冊:2005-04-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-29 11:40:44 IP:140.116.xxx.xxx 未訂閱
感謝已經解決了 , 如你所言 加上絕對路徑就解決了
系統時間:2024-05-19 18:04:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!