2012-06-05 9 views
5

to jest możliwe? Potrzebuję uzyskać pełną ścieżkę programu Adobe Reader, w tym nazwę pliku wykonywalnego. Szukam w rejestrach systemu Windows, tym bliżej, że zrobiłem, znalazłem pełną ścieżkę bez nazwy wykonywalnej. Z góry dziękuję.Jak uzyskać pełną ścieżkę programu Adobe Reader (w tym nazwę pliku wykonywalnego)?

mój kod:

var adobe = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Adobe").OpenSubKey("Acrobat Reader"); 
var version = adobe.GetSubKeyNames().First(); 
var path = adobe.OpenSubKey(version).OpenSubKey("installer").GetValue("path"); 

góry dzięki.

Odpowiedz

13

Jeden z nich powinien zrobić to za ciebie:

var adobe = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Microsoft").OpenSubKey("Windows").OpenSubKey("CurrentVersion").OpenSubKey("App Paths").OpenSubKey("AcroRd32.exe"); 
    var path = adobe.GetValue(""); 

    var adobeOtherWay = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Classes").OpenSubKey("acrobat").OpenSubKey("shell").OpenSubKey("open").OpenSubKey("command"); 
    var pathOtherWay = adobeOtherWay.GetValue(""); 

Wybierz jedną i biegać z nim;)

+0

Dzięki! Uratowałeś mi noc :) – Jack

+1

Nie ma problemu, zaznacz moją odpowiedź jako poprawną i mogę iść spać! :) – Faraday

+0

Czekaj ... Czy "AcroRd32.exe" jest domyślną nazwą niezależnej wersji programu Adobe Reader, architektury itp.? – Jack

4

znalazłem problem z rozwiązaniem "adobeOtherWay". Jeśli zainstalowany jest program Adobe Acrobat (nie czytnik), ścieżka będzie wskazywać na plik Acrobat.exe, a nie na plik exe czytelnika. (Chciałem to skomentować, ale nie mam wystarczającej reputacji)

2

Używam: HKEY_CLASSES_ROOT \ Software \ Adobe \ Acrobat \ Exe Daje mi pełną ścieżkę i nazwę zainstalowanego Acrobat Reader, dokładnie to, czego potrzebujesz.

Powiązane problemy