(如何)使用Windows文件浏览器查找应用程序?

时间:2016-05-31 13:34:12

标签: c# winforms

我想打开programmaticaly一个应用程序。

首先我使用System.Diagnostics.Process.Start(@"C:\Program Files (x86)\Program1.exe")工作正常,但应用程序总是需要在同一条路径上(因为不同的计算机而不总是如此)

找到它的简单方法(使用鼠标和点击,但不是programmaticaly)是使用Windows文件浏览器,我输入我的应用程序的标题,我立即找到它。

我想编码。

我以为我可以使用键盘快捷键“Home + F”并使用SendKeys.Send("blabla"模拟单词,但c#似乎不存在“Home键”(至少不在此https://msdn.microsoft.com/fr-fr/library/ms127847(v=vs.110).aspx })

这是一个针对儿童的小程序,我不能指望他们手动找到路径(所以忘记OpenFileDialog ..)

也许这是一个非常糟糕的主意,还有另一个解决方案,在不了解他的路径的情况下找到一个程序,我不知道你有更好的想法吗?!

1 个答案:

答案 0 :(得分:0)

你试图以错误的方式解决问题。你正在尝试什么"编程"是使用资源管理器运行程序时工作目录的设置。 正确的方法是通过传递所有必要的信息来使用Process.Start来启动流程:

var startInfo = new ProcessStartInfo("Program1.exe");
startInfo.WorkingDirectory = @"C:\Program Files (x86)\";

Process proc = Process.Start(startInfo);