ShellExecute()隱藏視窗的問題 |
答題得分者是:jackkcg
|
GGL
資深會員 發表:104 回覆:600 積分:335 註冊:2006-11-05 發送簡訊給我 |
我本來的程式碼是以下的
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 發送簡訊給我 |
|
GGL
資深會員 發表:104 回覆:600 積分:335 註冊:2006-11-05 發送簡訊給我 |
我使用http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27200的方法,錯誤就跟我的一樣,無法開啟檔案,這個錯誤就跟我使用ShellExecute()是一樣的,我實在是不知道是什麼原因,請幫我看看是我的程式碼有問題嗎?還是其他的原因呢?謝謝
|
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
請注意 開啟的應用程式 的 路徑 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 發送簡訊給我 |
|
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
【問題】怎麼送字串到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 發送簡訊給我 |
大大,我也是跟你碰到的問題類似耶!
我起先的情況如下:
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); 可以請問大大你有把命令提示字元的畫面隱藏嗎?煩請指教!
謝謝!
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |