我想打开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
..)
也许这是一个非常糟糕的主意,还有另一个解决方案,在不了解他的路径的情况下找到一个程序,我不知道你有更好的想法吗?!
答案 0 :(得分:0)
你试图以错误的方式解决问题。你正在尝试什么"编程"是使用资源管理器运行程序时工作目录的设置。 正确的方法是通过传递所有必要的信息来使用Process.Start
来启动流程:
var startInfo = new ProcessStartInfo("Program1.exe");
startInfo.WorkingDirectory = @"C:\Program Files (x86)\";
Process proc = Process.Start(startInfo);