如何设置windows表单应用程序使用hellexecute为true?

时间:2016-04-19 11:19:53

标签: c# forms visual-studio-2015

我的问题回答问题When do we need to set UseShellExecute to True? 如果您认为是,请解释如何?

我需要在应用程序进程启动之前为我的Windows窗体应用程序项目设置useshellexecute为true,但是我找不到项目中的哪个位置需要进行更改?

它是Visual Studio 2015中的Windows窗体应用程序项目。

该应用程序的主要入口点如下所示:

service.FindFolders

我应该在哪里使用[STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); } 并指定ProcessStartInfo值?

修改 非常感谢Matthew Watson,他建议我改变环境CurrentDirectory来解决这个问题!如果您将其作为答案发布,我会将您的anser标记为正确的!

2 个答案:

答案 0 :(得分:0)

您可以使用ProcessStartInfo并指定UseShellExecute值。

ProcessStartInfo startInfo = new ProcessStartInfo("exepath");
startInfo.Arguments = args; //argument
startInfo.UseShellExecute = true;

Process.Start(startInfo);

答案 1 :(得分:0)

您可以尝试将其放在程序的开头:

Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;

这将确保程序启动时程序的当前工作目录(CWD)始终设置为与可执行文件相同的文件夹。

我怀疑发生的事情是您使用的快捷方式文件夹中的“Start in”属性缺少或不正确。修复这将是另一种方法(右键单击快捷方式,选择属性,然后选择快捷方式选项卡,并在开始部分。)