【问题标题】:How to run Command Prompt commands from VB.NET?如何从 VB.NET 运行命令提示符命令?
【发布时间】:2015-12-02 09:49:14
【问题描述】:

我有一个在 vb.net 中构建的应用程序。我从未学习过 VB。我在 C#.net 上工作过。当我运行它的设置并执行它时,我能够看到命令提示符。但是当我使用这个应用程序时调度任务/创建任务和调度,看不到命令​​提示符。

我正在使用以下代码来创建进程。

Dim Cw As New ProcessStartInfo(name, name & " " & name)
Cw.WindowStyle = ProcessWindowStyle.Maximized
Process.Start(Cw)

有没有其他方法可以做到这一点?不做进程可以执行shell程序吗?我在windows8操作系统上工作

【问题讨论】:

  • 这个问题一点都不清楚。首先要注意的是,此代码运行带有某些参数的给定程序(例如,记事本或 Chrome 或计算机中的任何其他应用程序);所以你可能错误地调用了那个程序。此外,根本不清楚为什么需要从 ASP.NET 应用程序执行外部程序。 .NET 框架非常全面,ASP.NET 应该能够处理内部几乎所有的事情(+ JavaScript 代码 + 添加到项目的外部库)。您应该提供更多信息以帮助我们了解问题。

标签: asp.net vb.net


【解决方案1】:

你可以使用一个简单的 Shell 命令,所以:

Shell(path_to_your_exe, AppWinStyle.MaximizedFocus, true, 1000)

小心路径,如果你有空格,他们会这样

Shell(""d:\folder blank\my.exe"") 

MSDN:https://msdn.microsoft.com/es-es/library/microsoft.visualbasic.interaction.shell(v=vs.110).aspx

【讨论】:

    【解决方案2】:

    如果我理解了这个问题,您可能正在使用 Windows 窗体应用程序,并且您想查看外部应用程序的命令行信息。

    在这种情况下,您可以使用以下代码:

    Sub Main()
    
        Dim ProcessStartInfo = BuildProcessStartInfo("E:\path\to\your\exeFile.exe", "")
        Dim proc = Process.Start(ProcessStartInfo)
    
    End Sub
    
    Public Function BuildProcessStartInfo(exeFilePath As String, arguments As String) As ProcessStartInfo
    
        Dim startInfo = New ProcessStartInfo
        startInfo.FileName = exeFilePath
        startInfo.Arguments = arguments
        startInfo.CreateNoWindow = False
        startInfo.UseShellExecute = True
        startInfo.WindowStyle = ProcessWindowStyle.Maximized
    
        Return startInfo
    
    End Function
    

    【讨论】:

      最近更新 更多