C#进程,无法运行创建Image的exe并将其读回

时间:2011-09-22 18:20:07

标签: c# process exe

我正在尝试从C#运行一个exe

 ProcessStartInfo si = new ProcessStartInfo
                    (
                        ExePath, InputImageFilePath +" "+ 
                        numericUpDownResize.Value +" "+
                        numericUpDownPad.Value+" "+
                        numericUpDownWindow.Value
                    );
                si.UseShellExecute = true;
                si.CreateNoWindow = true;
                si.WindowStyle = ProcessWindowStyle.Normal;
                si.Verb = "runas";

                Process process = Process.Start(si);
                process.WaitForExit();               


                int indexOfLastSlash = ExePath.LastIndexOf(@"\");
                string outputFilePath = ExePath.Substring(0, indexOfLastSlash);
                OutputImage = new Bitmap(outputFilePath + @"\output.jpg");

当我从命令行提示符运行exe时,它可以正常工作并创建JPEG。但是当我尝试c#程序时,允许程序通过UAC运行一次后,我看到命令行提示打开并显示状态。但是没有产生输出图像。

有什么我想念的吗?

更新

按照Moxplod的建议添加Manifest后,我正在进行安全设置。我显示的突出显示的框是否需要像其他几个一样进行绿色检查? enter image description here

2 个答案:

答案 0 :(得分:1)

您可以添加清单条目,这样就不会出现权限错误。如果这是你想要的。

 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

答案 1 :(得分:1)

程序是否在当前目录中生成输出图像?因为您正在检查包含可执行文件的目录中的映像,该目录可能与当前目录不同。