在 Windows 中,当打开命令提示符 (cmd.exe) 时,注册表项:
HKLM\Software\Microsoft\Command Processor
HKCU\Software\Microsoft\Command Processor
检查名为“AutoRun”的值。如果找到,则执行值中指定的批处理文件,提供类似自动执行的功能。如果两个键都包含 AutoRun 值,则两者都将运行。惊人的!
我正在使用Process.Start
运行 cmd.exe 并且没有发生自动运行行为。我目前的代码是:
private openShell( string folder )
{
ProcessStartInfo startInfo = new ProcessStartInfo()
{
FileName = Environment.GetEnvironmentVariable( "COMSPEC" ) ?? "cmd.exe",
Arguments = "/k cd \"" + folder + "\"",
UseShellExecute = true
};
try
{
using ( var exeProcess = System.Diagnostics.Process.Start( startInfo ) )
{
exeProcess.WaitForExit();
}
}
catch
{
// Log error.
}
}
我还尝试将其简化为最简单的形式:
System.Diagnostics.Process.Start( "cmd.exe" );
我尝试的一切都完美无缺(在启动命令窗口时),但自动运行行为从未发生。