我想以编程方式打开一个应用程序。
首先我使用 System.Diagnostics.Process.Start(@"C:\Program Files (x86)\Program1.exe")
工作正常,但应用程序始终需要在相同的路径(不总是正确的,因为不同的计算机)
找到它的一种简单方法(使用鼠标并单击,虽然不是编程方式)是使用 Windows 文件资源管理器,我输入我的应用程序的标题,我立即找到它。
我想编写代码。
我以为我可以使用键盘快捷键“Home + F”并用 SendKeys.Send("blabla"
) 模拟这个词,但是 c# 中似乎不存在“Home 键” (至少这里没有https://msdn.microsoft.com/fr-fr/library/ms127847(v=vs.110).aspx)
这是一个为 children 准备的小程序,我不能指望他们手动找到路径(所以忘记 OpenFileDialog
..)
也许这是一个非常糟糕的主意,还有另一种解决方案可以在不知道他的路径的情况下找到一个程序,我不知道你有更好的主意吗?!
最佳答案
您试图以错误的方式解决问题。当程序使用资源管理器运行时,您要“编程”的是工作目录 的设置。 正确的方法是使用 Process.Start
传递所有必要的信息来启动进程:
var startInfo = new ProcessStartInfo("Program1.exe");
startInfo.WorkingDirectory = @"C:\Program Files (x86)\";
Process proc = Process.Start(startInfo);
关于c# - (如何)使用 Windows 文件资源管理器查找应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37547273/