0

我正在开发一个需要使用 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 打开自己的命令窗口?

4

2 回答 2

2

尝试添加这一行:

pi.CreateNoWindow = true;
于 2008-10-31T10:32:57.220 回答
0

我在 Microsoft Connect 反馈站点上发现了这个错误报告:System.Diagnostics.ProcessWindowStyle.Hidden 在执行时显示窗口

也许有一些你忘记的暗示。

于 2008-10-31T09:01:20.400 回答