全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1801
推到 Plurk!
推到 Facebook!

ShellExecute()隱藏視窗的問題

答題得分者是:jackkcg
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-10 05:56:25 IP:211.76.xxx.xxx 未訂閱
我本來的程式碼是以下的      for(i;i<=j;i++)    {      AnsiString message="/c net helpmsg "+IntToStr(i)+" > c:\\error_code.txt";      system(message.c_str()); Memo1->Lines->LoadFromFile("c:\\error_code.txt"); Memo1->Text=Memo1->Text.Trim(); Memo1->Text=Memo1->Text.Delete(Memo1->Text.Length()-1,Memo1->Text.Length()); if(Memo1->Text!="") { AnsiString temp=""; for(count=0;count<=Memo1->Lines->Count;count ) { if(Memo1->Lines->Strings[count].Length()!=0) { temp=temp Memo1->Lines->Strings[count]; } } RichEdit1->Lines->Add(IntToStr(i) " " temp); } }但是他會先開啟一個命令提示字元的視窗,因為我想隱藏視窗所以我改成了下面的版本: for(i;i<=j;i ) { AnsiString message="/c net helpmsg " IntToStr(i) " > c:\\error_code.txt"; ShellExecute ( NULL , NULL , "cmd.exe" , message.c_str() , NULL ,SW_HIDE); Memo1->Lines->LoadFromFile("c:\\error_code.txt"); Memo1->Text=Memo1->Text.Trim(); Memo1->Text=Memo1->Text.Delete(Memo1->Text.Length()-1,Memo1->Text.Length()); if(Memo1->Text!="") { AnsiString temp=""; for(count=0;count<=Memo1->Lines->Count;count ) { if(Memo1->Lines->Strings[count].Length()!=0) { temp=temp Memo1->Lines->Strings[count]; } } RichEdit1->Lines->Add(IntToStr(i) " " temp); } } 但是他產生出來的結果會跟第一種方法不同,而且Memo1->Lines->LoadFromFile("c:\\error_code.txt");這行會有問題,顯示無法開檔,但是我的硬碟裡有產生error_code.txt這個檔案,這是什麼原因呢? 謝謝
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-10 10:48:53 IP:218.173.xxx.xxx 未訂閱
參考這個試試 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=29109 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27200     Delphi.Ktop風紀小隊---[ 發問前請先找找舊文章 ]---
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-10 16:08:13 IP:211.76.xxx.xxx 未訂閱
我使用http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27200的方法,錯誤就跟我的一樣,無法開啟檔案,這個錯誤就跟我使用ShellExecute()是一樣的,我實在是不知道是什麼原因,請幫我看看是我的程式碼有問題嗎?還是其他的原因呢?謝謝
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-10 16:13:24 IP:61.221.xxx.xxx 未訂閱
請注意 開啟的應用程式 的 路徑 98與2000不同 與 引用的應用程式 執行緒 請多設一個目錄 test 看看 如 c:\1234\error_code.txt 看看 ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-10 16:17:16 IP:211.76.xxx.xxx 未訂閱
我是在Windows XP下跑的,他在我程式complier的時候就出現問題了,如果用我的第一種方法是正常的,只是會有命令提示字元的視窗跑出來
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-10 16:38:23 IP:61.221.xxx.xxx 未訂閱
【問題】怎麼送字串到Dos Prompt? http://delphi.ktop.com.tw/topic.php?TOPIC_ID=20897 將某附檔名指定用某程式開啟執行 http://delphi.ktop.com.tw/topic.php?topic_id=18173 如何偵測某執行檔程式是否在執行中?(用執行檔名) http://delphi.ktop.com.tw/topic.php?topic_id=19353 先看一下 使用搜索文章 虛擬鍵 至於你第一個方式 庵不會寫程式 不過一般寫隱藏執行方式 應該不會有 命令提示字元的視窗 因為這樣就不需隱藏了ㄚ 哈哈 所以庵不太知道 問問 版主把 他粉利害 哈哈 庵灌灌水 ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
chihyuchen
一般會員


發表:0
回覆:4
積分:0
註冊:2003-05-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-11-16 11:37:58 IP:61.222.xxx.xxx 未訂閱
大大,我也是跟你碰到的問題類似耶! 我起先的情況如下: comline = " -l "+ strAsmPath + " >" + ErrMessFile ; hProg=ShellExecute(NULL, "open", ca87path, comline, NULL, SW_SHOW);    PS. strAsmPath ,ErrMessFile,ca87path 是完整的檔案路徑 結果是:>無法辨識    所以後來也改成跟大大一樣的方式但是也是有命令提示字元的視窗出現,程式如下: comline = ca87path+" -l "+ strAsmPath + " >" + ErrMessFile ; int value; value= system(comline);    可以請問大大你有把命令提示字元的畫面隱藏嗎?煩請指教! 謝謝!    
系統時間:2024-05-10 19:07:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!