在Windows中,當一個命令提示符打開(CMD.EXE),註冊表項:啓動cmd.exe的問題
HKLM \ SOFTWARE \微軟\命令處理器
HKCU \軟件\微軟\ COMMAND處理器
被檢查一個名爲「AutoRun」的值。如果找到,則會執行該值中指定的批處理文件,從而提供類似autoexec的功能。如果兩個鍵都包含自動運行值,則兩者都將運行。真棒!
我正在使用Process.Start
來運行cmd.exe並且沒有發生AutoRun行爲。我當前的代碼是:
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");
一切我嘗試的作品完美(在啓動的命令窗口),而自動運行行爲從不發生。
檢查註冊表的代碼在哪裏? – bitxwise 2010-11-28 02:09:59