С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Хаддар
21 / 21 / 1
Регистрация: 25.02.2012
Сообщений: 132
1

Запуск приложения, зная его путь в реестре

26.02.2012, 22:00. Просмотров 1482. Ответов 11
Метки нет (Все метки)

Вобщем штука такая: Имея путь программы в реестре, как её запустить?

C#
1
2
const string pathParametrName = "InstallPath";
object GamePath = Microsoft.Win32.Registry.GetValue("HKEY_CURRENT_USER\\SOFTWARE\\Blizzard\\World of Warcraft", pathParametrName, "\\Wow.exe");
Запуск процесса же

C#
1
Process.Start((string)GamePath );
Но он пишет что неудалось найти объект. Кто может подсказать мою ошибку?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2012, 22:00
Ответы с готовыми решениями:

Можно ли запретить запуск окна, зная его Handle
Собственно вот и вопрос да и еще если можно вообще запретить запуск этой проги...

Запуск стороннего приложения с контролем его процесса
Незнаю в правильный ли отдел написал! Вообшим как можно мделать так что б...

Запуск стороннего консольного приложения и доступ к его потокам ввода/вывода
Здравствуйте! Есть java прилажение, работающее в консоли (сервер Minecraft'а)....

Как создать строковый параметр в реестре и прочитать его
1. Как создать параметр с значением-строкой? Вот так я создаю DWORD: IntPtr...

Подключение к серверу, не зная его ip адреса
У меня есть 2 приложения: сервер и клиент. Мне нужно из клиента подключиться к...

11
sau
1994 / 1612 / 264
Регистрация: 22.07.2011
Сообщений: 6,090
Завершенные тесты: 1
26.02.2012, 22:06 2
А ты проверял, полученный путь GamePath реально существует ?
0
Хаддар
21 / 21 / 1
Регистрация: 25.02.2012
Сообщений: 132
26.02.2012, 22:11  [ТС] 3
проверил, реально пусто. тогда как вначале получить этот путь? на VB он так делал
Тоже самое на VB
vb.net
1
Dim InstallPath As String = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Blizzard entertainment\world of warcraft", "InstallPath", "WoW.exe")
0
sau
1994 / 1612 / 264
Регистрация: 22.07.2011
Сообщений: 6,090
Завершенные тесты: 1
26.02.2012, 22:15 4
http://msdn.microsoft.com/en-us/libr....getvalue.aspx
- ну и убедись что в твоем реестре действительно такая ветка существует.
0
Хаддар
21 / 21 / 1
Регистрация: 25.02.2012
Сообщений: 132
26.02.2012, 22:30  [ТС] 5
C#
1
2
3
const string pathParametrName = "InstallPath";
object GamePath = Microsoft.Win32.Registry.GetValue("HKEY_CURRENT_USER\\SOFTWARE\\Blizzard Entertainment\\World of Warcraft", pathParametrName, "\\Wow.exe");
label1.Text = (string)GamePath;
Выводит только поледнее \Wow.exe. Через Regedit я прослеживаю всю ветку, внутри которой есть ключ Installpath с путём игры которая то мне и нужна, и есть у каждого у кого она установлена. Перефразирую, как получить значение этого ключа в переменную ?
0
coderxx
436 / 155 / 9
Регистрация: 25.02.2012
Сообщений: 352
Записей в блоге: 2
26.02.2012, 22:49 6
Цитата Сообщение от Хаддар Посмотреть сообщение
Перефразирую, как получить значение этого ключа в переменную ?
Ты правильно получаешь в переменную.
0
Хаддар
21 / 21 / 1
Регистрация: 25.02.2012
Сообщений: 132
26.02.2012, 23:02  [ТС] 7
Цитата Сообщение от coderxx Посмотреть сообщение
Ты правильно получаешь в переменную.
но не выводит он мне в итоге её значение "D:\Games\World of Warcraft WotLK", лишь присваивает значение "\Wow.exe" а следовательно при попытке запуска ((string)InstallPath + "\\Wow.exe") он мне выдаёт ошибку о том что файл не найден. попробуйте так любую программу запустить у себя на машине.
0
sau
1994 / 1612 / 264
Регистрация: 22.07.2011
Сообщений: 6,090
Завершенные тесты: 1
26.02.2012, 23:03 8
Выводит только поледнее \Wow.exe
- это как раз таки свидетельствует об отсутствии данных, т.к это значение по умолчанию
0
Хаддар
21 / 21 / 1
Регистрация: 25.02.2012
Сообщений: 132
26.02.2012, 23:08  [ТС] 9


Как можно наблюдать, в InstallPath находится значение за которым я охочусь))) но его я не получаю и вся ветка как на ладони
0
sau
1994 / 1612 / 264
Регистрация: 22.07.2011
Сообщений: 6,090
Завершенные тесты: 1
26.02.2012, 23:10 10
На снимке у тебя LOCAL_MACHINE
а в проге CURRENT_USER
1
Хаддар
21 / 21 / 1
Регистрация: 25.02.2012
Сообщений: 132
26.02.2012, 23:16  [ТС] 11
ОО я слепая тупица, спасибо огромное)))
0
sau
1994 / 1612 / 264
Регистрация: 22.07.2011
Сообщений: 6,090
Завершенные тесты: 1
26.02.2012, 23:31 12
как самокритично
0
26.02.2012, 23:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2012, 23:31

Отправка текста приложению, зная его хендл
У меня есть хэндл стороннего приложения и мне нужно отправить в него некий...

Проверить, свёрнуто ли окно программы, зная его дескриптор
Как проверить свёрнуто ли окно программы зная его дискриптор?

Как получить информацию о другом окне, зная его Handle
Как получить информацию о другом окне если есть Хендл(расположение, заголовок,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru