在不打扰用户的情况下使用c#app中的regini?

时间:2008-10-31 08:47:22

标签: c# registry

我正在开发一个需要使用regini(由于遗留原因)在注册表中插入内容的应用程序。我一直试图以这样的方式做到这一点,应用程序的用户不知道这一点。我写了以下代码:

System.Diagnostics.ProcessStartInfo pi = new ProcessStartInfo();  

pi.FileName = @"c:\windows\system32\regini.exe";
pi.Arguments = name;
pi.WorkingDirectory = Utils.AppSettings.WorkingDirectory.ToString();    
pi.WindowStyle = ProcessWindowStyle.Hidden;
pi.RedirectStandardError = true;
pi.RedirectStandardOutput = true;
pi.UseShellExecute = false;  
Process p = new Process();
p.StartInfo = pi;
p.EnableRaisingEvents = true;
p.Start();

不幸的是,每次执行此代码时,我仍会看到“命令”窗口弹出。我的印象是

pi.WindowStyle = ProcessWindowStyle.Hidden;

会阻止这种情况。如何防止regini打开自己的命令窗口?

2 个答案:

答案 0 :(得分:2)

尝试添加此行:

pi.CreateNoWindow = true;

答案 1 :(得分:0)

我在Microsoft Connect反馈网站上发现了此错误报告:System.Diagnostics.ProcessWindowStyle.Hidden shows window while executing

也许有一些你忘了的东西。