無法運行ShellExecute??? |
尚未結案
|
chrislao
初階會員 發表:86 回覆:69 積分:36 註冊:2002-12-28 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
chrislao您好:
改成这样试试
procedure TForm1.Button5Click(Sender: TObject); var str:string; begin Str:='netsh interface ip set address name="區域連線" source=dhcp'; Winexec(PChar(Str),sw_showdefault); end;============================ 为什么经过多年以后,得失的过程如此冷漠 ============================ |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
|
chrislao
初階會員 發表:86 回覆:69 積分:36 註冊:2002-12-28 發送簡訊給我 |
還是不行; procedure TForm1.Button5Click(Sender: TObject);
var
str:string;
begin
Str:='netsh interface ip set address name="區域連線" source=dhcp';
Winexec(PChar(Str),sw_showdefault);
end;
就可以
引言: chrislao 您好: 我剛才試了一下,發現 netsh.exe 是 Console mode 的程式,console program 在使用 ShellExecute() 時可以透過 cmd.exe 來執行,也就是將 Str 字串設成下列這個樣子: Str:='cmd.exe /c netsh interface ip set address name="區域連線" source=dhcp'; 您試試看吧。 7 天天敲鍵盤 v 時時按滑鼠 8 |
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
chrislao您好:
用winexec可以那怎么不用?
如果非得用ShellExecute,可参考:
uses shellapi;
procedure TForm1.Button6Click(Sender: TObject); var str:string; begin Str:='interface ip set address name="本地连接" source=dhcp'; ShellExecute(handle,'','netsh.exe ',PChar(Str),nil,sw_show); end;试试看 <> ============================ 为什么经过多年以后,得失的过程如此冷漠 ============================ > |
chrislao
初階會員 發表:86 回覆:69 積分:36 註冊:2002-12-28 發送簡訊給我 |
sorry ,我的意思是winexec可以,
shellexecute就不行
引言: chrislao您好: 用winexec可以那怎么不用? 如果非得用ShellExecute,可参考: uses shellapi;procedure TForm1.Button6Click(Sender: TObject); var str:string; begin Str:='interface ip set address name="本地连接" source=dhcp'; ShellExecute(handle,'','netsh.exe ',PChar(Str),nil,sw_show); end;试试看 <> ============================ 为什么经过多年以后,得失的过程如此冷漠 ============================ > >>< face="Verdana, Arial, Helvetica"> |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
chrislao 您好: 我使用的是 BCB,設定如下可以執行:
AnsiString Str ="/c netsh interface ip set address name=\"區域連線\" source=dhcp"; ShellExecute(0,"open", "cmd.exe", Str.c_str(), NULL, SW_SHOWDEFAULT);我手邊沒有 Delphi,無法測試 Delphi 語法敘述,我試著比照上述寫法修改您原先的敘述如下: Str:='/c netsh interface ip set address name="區域連線" source=dhcp'; ShellExecute(0, 'open', 'cmd.exe',PChar(Str), nil, sw_showdefault); 不知道這樣設定是否可在 Delphi 上正確執行?您試試看吧。 7 天天敲鍵盤 v 時時按滑鼠 8 |
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
引言: sorry ,我的意思是winexec可以,<--误会了,我知道您是说> ><--您试过我下面所> <>< face="Verdana, Arial, Helvetica">引言: chrislao您好: 用winexec可以那怎么不用? 如果非得用ShellExecute,可参考: uses shellapi;============================ 为什么经过多年以后,得失的过程如此冷漠 ============================procedure TForm1.Button6Click(Sender: TObject); var str:string; begin Str:='interface ip set address name="本地连接" source=dhcp'; ShellExecute(handle,'','netsh.exe ',PChar(Str),nil,sw_show); end;试试看 <> ============================ 为什么经过多年以后,得失的过程如此冷漠 ============================ > >>< face="Verdana, Arial, Helvetica"> |
chrislao
初階會員 發表:86 回覆:69 積分:36 註冊:2002-12-28 發送簡訊給我 |
謝謝deity兄,現在連shellexecute都可以了,但想請問ShellExecute(handle,'','netsh.exe ',PChar(Str),nil,sw_show); 是甚麼意思,和shellexecute和winexec有甚麼分別.
引言:引言: sorry ,我的意思是winexec可以,<--误会了,我知道您是说> ><--您试过我下面所> <>< face="Verdana, Arial, Helvetica">引言: chrislao您好: 用winexec可以那怎么不用? 如果非得用ShellExecute,可参考: uses shellapi;============================ 为什么经过多年以后,得失的过程如此冷漠 ============================procedure TForm1.Button6Click(Sender: TObject); var str:string; begin Str:='interface ip set address name="本地连接" source=dhcp'; ShellExecute(handle,'','netsh.exe ',PChar(Str),nil,sw_show); end;试试看 <> ============================ 为什么经过多年以后,得失的过程如此冷漠 ============================ > >>< face="Verdana, Arial, Helvetica"> |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |