PublicClass ConsoleOutputClass ConsoleOutput PrivateSub New()SubNew() End Sub PrivateShared gWorkingDirectory AsString= Environment.GetFolderPath(Environment.SpecialFolder.Personal) PublicSharedProperty WorkingDirectory()Property WorkingDirectory() AsString Get Return gWorkingDirectory EndGet Set(ByVal Value AsString) gWorkingDirectory = Value EndSet End Property PublicSharedFunction ExcuteCmd()Function ExcuteCmd(ByValcommandAsString) AsString Dim mResult AsString="" Dim tmpProcess AsNew Process With tmpProcess With .StartInfo .CreateNoWindow =True .FileName = .EnvironmentVariables.Item("ComSpec") .RedirectStandardOutput =True .UseShellExecute =False .Arguments =String.Format("/C {0}", command) .WorkingDirectory = gWorkingDirectory EndWith Try .Start() .WaitForExit(5000) mResult = .StandardOutput.ReadToEnd Catch e As System.ComponentModel.Win32Exception mResult = e.ToString EndTry EndWith Return mResult End Function End Class
测试:
PrivateSub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Console.WriteLine(ConsoleOutput.ExcuteCmd("NET TIME //192.168.0.223")) End Sub '结果 '//192.168.0.223 的当前时间是 2006-3-30 9:57 ' '命令成功完成。