“NBTSTAT”命令行无法输出的妖怪问题
string dirResults = "";ProcessStartInfo psi = new ProcessStartInfo();
Process proc = new Process();
psi.FileName = "nbtstat "; //如果改成arp可以输出
psi.RedirectStandardInput = false;
psi.RedirectStandardOutput = true;
psi.Arguments = "-A " + IP;
psi.UseShellExecute = false;
proc = Process.Start(psi) ;
dirResults = proc.StandardOutput.ReadToEnd();
TextBox.Text += dirResults;
proc.WaitForExit();
proc.Close();
想不通,同样的命令改成arp就有输出,改成NBTSTAT就没输出,追踪过Process有执行但dirResults 就是没有被赋值!有达人看看原因吗?
在顶顶,我估计是在这句出了问题,dirResults = proc.StandardOutput.ReadToEnd();
要么就是服务端没有某种NBTSTAT命令的权限。
PS。我是写在网页上,目的是获取客户端的MAC地址,因为arp只能获取同网段的MAC地址,
所以最好用NBTSTAT。。。。。。只是没想到会这么麻烦。
ps.要是有其他获取客户端的MAC地址的方法也可以说说!
[[it] 本帖最后由 machao514 于 2008-4-23 09:22 编辑 [/it]]