Я продолжаю искать в Интернете какое-то учебное пособие по этому вопросу, но ни один из моих источников не дает понять это.
Я создал окно WPF в Visual Studio с двумя кнопками
Кнопка One Должна использоваться для запуска PDF-файла.
Кнопка 2 должна использоваться для запуска приложения .exe, а затем закрыть окно WPF
Теперь я обнаружил, что если я использую:
System.Diagnostics.Process.Start("C:/Users/mdkgr/Desktop/FolderName/app.exe")
Тогда это работает, однако, естественно, когда я публикую этот проект, и люди будут использовать его на своей машине, этот метод не будет работать, потому что адрес, несомненно, будет отличаться для каждой машины, на которой он установлен.
Мой вопрос просто:
Как мне сделать так, чтобы он запускал файл PDF или application.exe на любом компьютере, на котором он установлен?
Ни один из учебников по Visual Studio, которые я видел, не дает такого четкого представления.
Edit:
Я попробовал идею @bwing, но у меня появляется ошибка, поэтому я не уверен, правильно ли я ее использую ?? Вот мой код в общественных пустотах:
`public static void LaunchKOS()
{
var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
// Launch Voice Server
//Process.Start("C:/Users/mdkgr/Desktop/Knight O S Beta01_Data/voice-recognition-server-pc/VoiceServer/bin/Release/KittVoiceServer");
var combinedPath = Path.Combine(desktopPath, "Knight O S Beta01_Data/voice-recognition-server-pc/VoiceServer/bin/Release/KittVoiceServer");
Process.Start(combinedPath);
// Launch Knight O.S. Unity Settings Window
Process.Start("C:/Users/mdkgr/Desktop/Knight O S Beta01");
// Close This Window
Environment.Exit(0);
}
public static void LaunchPDF()
{
Process.Start("C:/Users/mdkgr/Desktop/Knight O S Beta01_Data/Knight O.S. Features.pdf");
}`
EDIT:
Этот метод прекрасно работает на одной из моих машин, но как только я попробую его на своем ноутбуке HP, он захочет открыть только приложение Unity3d. и все же на обеих машинах каталоги папок абсолютно одинаковы, и я могу без проблем открывать каждый файл .exe, но мое приложение запуска хочет открыть только один файл .exe на моем ноутбуке HP. Кто-нибудь знает, почему это происходит?
public static void LaunchKOS()
{
var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var desktopPathkos = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
// Launch Voice Server
var combinedPath = Path.Combine(desktopPath, "Knight O S Beta01_Data/voice-recognition-server-pc/VoiceServer/bin/Release/KittVoiceServer");
Process.Start(combinedPath);
// Launch Knight O.S. Unity Settings Window
var combinedPathkos = Path.Combine(desktopPathkos, "Knight O S Beta01");
Process.Start(combinedPathkos);
// Close This Window
Environment.Exit(0);
}