我现在要做一个IP转换器,用于在公司和家里切换IP,初步思路是通过DOS命令,
现在代码如下
var NetShtxt:PCHAR;
begin
  NetShTxt :='netsh -c interface dump >g:/netset.txt' ;//将当前IP设置导入到g:/netset.txt
 winexec(NetShTxt,sw_SHOW) ;
end;
运行后无反应,可是我在DOS窗口中执行netsh -c interface dump >g:/netset.txt 是有结果的!
这是为什么?请详细说明,一旦解决,200分双手奉上!

解决方案 »

  1.   

    ShellExecute试试看。
    use ShellApi
      

  2.   

    //var NetShtxt:PChar;
    begin
      //NetShTxt :='netsh -c interface dump >c:\netset.txt' ;//将当前IP设置导入到g:/netset.txt
      winexec('cmd /c '+'netsh -c interface dump >c:\netset.txt',SW_HIDE);
    end;
    这样就行了!
      

  3.   

    是不是要在windows下运行 dos里的程序要 RunShell32 什么的?
    我不太清楚。只知道曾经见过一篇这种文章。你gogole一下?
      

  4.   


    直接写两个批处理,没必要用Delphi来写的。
      

  5.   

    就是,批处理就能解决问题……
    Delphi来做只不过是调用了CMD执行……本质上无区别,而且Delphi做起来麻烦
      

  6.   

    cmd /c netsh -c interface dump >c:\netset.txt
    这样就可以了
    var NetShtxt:PCHAR; 
    begin 
      NetShTxt :='cmd /c netsh -c interface dump >g:/netset.txt' ;//将当前IP设置导入到g:/netset.txt 
    winexec(NetShTxt,sw_SHOW) ; 
    end;