所以我需要在 C# 中以编程方式启动 TunnelBear.exe(一个 VPN),然后再次杀死它。在cmd中执行此操作的命令是(进入目录后)
TunnelBear.exe --on
这是我在 C# 中尝试过的:
var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = @"C:\Program Files (x86)\TunnelBear\TunnelBear.exe",
Arguments = @"TunnelBear.exe --on",
UseShellExecute = false,
CreateNoWindow = true,
RedirectStandardOutput = true,
RedirectStandardInput = true
}
};
process.Start();
首先欢迎来到SO。
我认为您混淆了 ProcessStartInfo 的用法,您指定了应该启动的文件名,然后将完整参数与应用程序名称传递给该应用程序。 尝试将
Argument
更改为仅 `"--on",看看是否有效?
或者将
UseShellExecute
更改为 true
,然后删除 FileName
部分并添加 Working Directory
。示例:
var process = new Process
{
StartInfo = new ProcessStartInfo
{
WorkingDirectory = @"C:\Program Files (x86)\TunnelBear",
Arguments = @"TunnelBear.exe --on",
UseShellExecute = true,
CreateNoWindow = true,
RedirectStandardOutput = true,
RedirectStandardInput = true
}
};
process.Start();