有什么命令行或.NET方法在后台运行一个进程,隐藏它试图打开的任何窗口?
已经尝试过:
var process = new Process()
{
StartInfo = new ProcessStartInfo()
{
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
FileName = TheRealExecutableFileNameHere
}
}
process.Start();
Run Code Online (Sandbox Code Playgroud)
到目前为止没有成功
Ben*_*old 15
我查看了我的代码,它看起来几乎与你的代码相同:
ProcessStartInfo psi = new ProcessStartInfo(fileName, arguments)
{
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = false,
RedirectStandardOutput = true
};
Process process = Process.Start(psi);
Run Code Online (Sandbox Code Playgroud)
唯一值得注意的区别(格式化和我们选择的PSI构造函数除外)是我使用UseShellExecute和RedirectStandardOutput,因为我需要读取ran过程的结果.
我发现上面的代码一直在XP和Vista上运行一个隐藏的过程.但是,我也发现,你可能会遇到同样的问题,一个隐藏的进程可能会启动另一个默认情况下不被隐藏的进程.换句话说,如果您启动隐藏的流程A和流程A,则启动流程B,您无法控制流程B的显示方式.可能会显示您无法控制的Windows.
希望这会有帮助.祝好运.
您是否尝试过使用带有/ B开关的Microsoft DOS 启动命令?
例如,
START /B cmd.exe
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29014 次 |
| 最近记录: |