C#使用系统cmd隐藏运行文件
时间: 2023-12-10 20:05:32 浏览: 38
你可以使用C#的Process类来运行cmd命令并隐藏窗口。以下是一个示例代码:
```csharp
using System.Diagnostics;
...
string fileName = "path/to/your/file.exe";
ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", "/C \"" + fileName + "\"");
psi.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(psi);
```
这段代码将运行一个名为`file.exe`的可执行文件,并隐藏cmd窗口。请注意,`path/to/your/file.exe`应替换为实际的文件路径。
相关问题
C#使用系统cmd运行文件
在 C# 中,可以使用 `Process.Start` 方法来启动一个外部进程,包括启动系统的 cmd.exe 命令行工具。以下是一个简单的示例代码:
```csharp
using System.Diagnostics;
class Program {
static void Main(string[] args) {
// 要运行的命令
string command = "path/to/your/file.exe";
// 使用 Process.Start 方法启动 cmd.exe 进程,并传入命令
Process.Start("cmd.exe", "/c " + command);
}
}
```
需要注意的是,在启动 cmd.exe 进程时,需要使用 "/c" 参数来传递要执行的命令。另外,如果要传递多个参数,可以将它们拼接成一个字符串,使用空格分隔。
如果需要获取命令执行的结果,可以通过 Process 对象的 StandardOutput 属性来获取输出流,示例如下:
```csharp
using System.Diagnostics;
class Program {
static void Main(string[] args) {
// 要运行的命令
string command = "dir";
// 使用 Process.Start 方法启动 cmd.exe 进程,并传入命令
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c " + command;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
// 读取输出流
string output = process.StandardOutput.ReadToEnd();
// 等待进程结束
process.WaitForExit();
Console.WriteLine(output);
}
}
```
在这个示例中,使用 `RedirectStandardOutput` 属性来指定输出流要重定向到 Process 对象的 StandardOutput 属性中。然后通过 `ReadToEnd` 方法来读取输出流的内容,并在进程结束后输出到控制台。
C#隐藏cmd运行
在C#中,可以使用`ProcessStartInfo`类和`Process`类来隐藏cmd窗口运行命令。下面是一个简单的示例代码:
```csharp
using System.Diagnostics;
// ...
// 需要运行的命令
string command = "dir";
// 创建进程信息对象
ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", "/c " + command);
psi.CreateNoWindow = true;
psi.UseShellExecute = false;
// 创建进程对象并启动
Process cmd = Process.Start(psi);
cmd.WaitForExit();
```
在上面的代码中,`CreateNoWindow`属性设置为`true`可以隐藏cmd窗口,`UseShellExecute`属性设置为`false`可以禁用使用操作系统的shell启动进程。然后,创建进程对象并启动,等待命令执行完成后退出进程。