Как найти путь выполнения установленного программного обеспечения в C#, например, медиаплеер, vlc-плеер. Мне просто нужно найти их путь выполнения. если у меня есть vlc-плеер, установленный на моем диске D. Как найти путь к vlc.exe от моего C# кодированияКак найти путь выполнения установленного программного обеспечения
ответ
Этот метод работает для любого исполняемого файла, расположенного в папке, которая определена в переменной окна PATH:
private string LocateEXE(String filename)
{
String path = Environment.GetEnvironmentVariable("path");
String[] folders = path.Split(';');
foreach (String folder in folders)
{
if (File.Exists(folder + filename))
{
return folder + filename;
}
else if (File.Exists(folder + "\\" + filename))
{
return folder + "\\" + filename;
}
}
return String.Empty;
}
Затем использовать его следующим образом:
string pathToExe = LocateEXE("example.exe");
Как метод Фредрик в это только находит пути для некоторых исполняемых файлов
небольшие исправления, так что ваш код будет работать: 1) Вся часть кода ur не возвращает значение, 2) «LocateEXE» (с ошибкой) 3) папка + «\\» + имя файла. Но это будет работать только тогда, когда переменные пути задаются приложением, которое вы устанавливаете. В большинстве случаев это не сработает. И что еще, если часть делает? Можете ли вы объяснить это? – SyncMaster
1 и 2) oops, исправить это сейчас, 3) пропустил + «\\» +, который предназначен для проверки того, что папки на пути не завершены обратным слэшем – RobV
. Да, это правда, что он не будет работать много случаев, но это то же самое, что и предложение Фредрика, и мы оба указали, что он не будет работать все время. Возможно, вам просто проще иметь AppSetting или подобное в вашем приложении, которое вы попросите конечного пользователя настроить для указания на VLC. – RobV
Использование C# код, который вы можете найти путь для некоторых excutables этот путь:
private const string keyBase = @"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths";
private string GetPathForExe(string fileName)
{
RegistryKey localMachine = Registry.LocalMachine;
RegistryKey fileKey = localMachine.OpenSubKey(string.Format(@"{0}\{1}", keyBase, fileName));
object result = null;
if (fileKey != null)
{
result = fileKey.GetValue(string.Empty);
}
fileKey.Close();
return (string)result;
}
Использование это так:
string pathToExe = GetPathForExe("wmplayer.exe");
Однако вполне может быть, что приложение, которое вы хотите, не имеет ключа App Paths.
Спасибо, это было то, что мне нужно. –
This stackoverflow.com article описывает, как получить приложение, связанное с определенным расширением файла.
Возможно, вы можете использовать эту технику, чтобы получить приложение, связанное с определенными расширениями, такими как avi или wmv - либо Medial Player, либо в вашем случае VLC-плеер?
Я использовал ключ реестра CurrentVersion \ Installer \ Folders. Просто перейдите в название продукта.
private string GetAppPath(string productName)
{
const string foldersPath = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders";
var baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
var subKey = baseKey.OpenSubKey(foldersPath);
if (subKey == null)
{
baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
subKey = baseKey.OpenSubKey(foldersPath);
}
return subKey != null ? subKey.GetValueNames().FirstOrDefault(kv => kv.Contains(productName)) : "ERROR";
}
- 1. Как я могу найти путь от установленного программного обеспечения? 1
- 2. Версия установленного программного обеспечения
- 3. Получить список установленного программного обеспечения
- 4. Как найти местоположение установленного программного обеспечения в Linux?
- 5. Найти доступность программного обеспечения для программного обеспечения
- 6. Реестр unix для установленного программного обеспечения
- 7. Проверка установленного программного обеспечения на sudo
- 8. Пакетный файл для установленного программного обеспечения
- 9. Сканирование установленного программного обеспечения на Windows
- 10. Обнаружение установленного программного обеспечения с использованием Wix
- 11. Получить серийные номера для установленного программного обеспечения
- 12. База данных программного обеспечения
- 13. Ошибка программного обеспечения; Путь установки ошибки: «rfPersonal»
- 14. с помощью POWERShell CmdLet для отображения установленного программного обеспечения и извлечения программного обеспечения.
- 15. Сценарий Python для извлечения установленного программного обеспечения на ПК Linux
- 16. Получение версии текущего установленного программного обеспечения во время обновления
- 17. разработка программного обеспечения для анализа программного обеспечения
- 18. Тестирование программного обеспечения и оценка программного обеспечения
- 19. Измерение скорости стороннего программного обеспечения \ время выполнения
- 20. Получить список установленного программного обеспечения с использованием C#
- 21. Получить список установленного программного обеспечения в eclipse через программу
- 22. Правдоподобие рендеринга программного обеспечения
- 23. Методы разработки программного обеспечения
- 24. Как проверить дизайн программного обеспечения?
- 25. Веб-просмотр программного обеспечения
- 26. руководство пользователя программного обеспечения?
- 27. Схема промежуточного программного обеспечения Asp.Net Core Конфигурация промежуточного программного обеспечения
- 28. Проверить совместимость программного обеспечения
- 29. Управление версией программного обеспечения
- 30. Компиляция проблема программного обеспечения
Вы хотите посмотреть реестр? – annakata
да как я могу это сделать из C# – Arunachalam