Jak mogę sprawdzić, czy program Adobe Reader lub program acrobat jest zainstalowany w systemie? także jak uzyskać wersję? (W kodu C#)Czy zainstalowany jest Adobe Reader (C#)?
Odpowiedz
using System;
using Microsoft.Win32;
namespace MyApp
{
class Program
{
static void Main(string[] args)
{
RegistryKey adobe = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Adobe");
if(null == adobe)
{
var policies = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Policies");
if (null == policies)
return;
adobe = policies.OpenSubKey("Adobe");
}
if (adobe != null)
{
RegistryKey acroRead = adobe.OpenSubKey("Acrobat Reader");
if (acroRead != null)
{
string[] acroReadVersions = acroRead.GetSubKeyNames();
Console.WriteLine("The following version(s) of Acrobat Reader are installed: ");
foreach (string versionNumber in acroReadVersions)
{
Console.WriteLine(versionNumber);
}
}
}
}
}
}
Adobe umieszcza to gdzieś indziej lub moja maszyna z Windows8 ma to inaczej, zmodyfikowałem powyższy kod, aby spróbować znaleźć Adobe w 'Software.Policies' –
działało świetnie na IE, Chrome i FF. –
Czy istnieje sposób sprawdzenia kodu C#, jeśli zainstalowany czytnik Adobe jest aktualny lub dostępna jest nowa aktualizacja? –
Należy również wziąć pod uwagę osoby uruchomiony system operacyjny 64bit i 32bit potencjalnie działa zarówno wersje 64-bitowe lub czytnika Adobe.
Poniższy kod jest zmodyfikowaną wersją dostarczonego rozwiązania Abmv, ale to sprawdzi, czy 64-bitowe wersje czytnika Adobe zostały zainstalowane najpierw przed sprawdzeniem wersji 32-bitowych.
Mam nadzieję, że to ma sens! :-)
using System;
using Microsoft.Win32;
namespace MyApp
{
class Program
{
static void Main(string[] args)
{
RegistryKey software = Registry.LocalMachine.OpenSubKey("Software");
if (software != null)
{
RegistryKey adobe;
// Try to get 64bit versions of adobe
if (Environment.Is64BitOperatingSystem)
{
RegistryKey software64 = software.OpenSubKey("Wow6432Node");
if (software64 != null)
adobe = software64.OpenSubKey("Adobe");
}
// If a 64bit version is not installed, try to get a 32bit version
if (adobe == null)
adobe = software.OpenSubKey("Adobe");
// If no 64bit or 32bit version can be found, chances are adobe reader is not installed.
if (adobe != null)
{
RegistryKey acroRead = adobe.OpenSubKey("Acrobat Reader");
if (acroRead != null)
{
string[] acroReadVersions = acroRead.GetSubKeyNames();
Console.WriteLine("The following version(s) of Acrobat Reader are installed: ");
foreach (string versionNumber in acroReadVersions)
{
Console.WriteLine(versionNumber);
}
}
else
Console.WriteLine("Adobe reader is not installed!");
}
else
Console.WriteLine("Adobe reader is not installed!");
}
}
}
}
działał świetnie na IE, Chrome i FF. –
Czy istnieje sposób sprawdzenia kodu C#, jeśli zainstalowany czytnik Adobe jest aktualny lub dostępna jest nowa aktualizacja? –
Jedynym rozwiązaniem, które pracuje dla mnie jest:
var adobePath = Registry.GetValue(
@"HKEY_CLASSES_ROOT\Software\Adobe\Acrobat\Exe", string.Empty, string.Empty);
Potem sprawdzić czy jest zainstalowany adobePath != null
następnie Adobe Reader.
W ten sposób otrzymam również ścieżkę do pliku wykonywalnego programu Acrobat Reader.
- 1. javascript wykryć Adobe Reader wtyczki dla przeglądarki
- 2. Czy możliwe jest otwarcie pliku PDF z predefiniowanym powiększeniem w programie Adobe Reader?
- 3. Adobe Acrobat Reader Tabs Zapisywanie i automatyczne ładowanie
- 4. Sprawdź, czy program jest zainstalowany
- 5. Sprawdź, czy pakiet jest zainstalowany.
- 6. Sprawdź, czy Skype jest zainstalowany
- 7. Jak wykryć, czy w języku C++ zainstalowany jest debuger?
- 8. Używanie C# Jak wykryć, czy Instalator Windows 4.5 jest zainstalowany
- 9. Jak sprawdzić, czy Suhosin jest zainstalowany?
- 10. Jak sprawdzić, czy moduł powershell jest zainstalowany?
- 11. Sprawdź, czy cURL jest zainstalowany lokalnie?
- 12. Wykryj, czy Mod_Security jest zainstalowany w PHP?
- 13. Sprawdź, czy patogen jest zainstalowany w vimrc
- 14. Wordpress Blog iPhone Reader App Reader
- 15. Możliwe, że program Adobe Reader nie będzie blokował plików w systemie Windows?
- 16. Jak uzyskać pełną ścieżkę programu Adobe Reader (w tym nazwę pliku wykonywalnego)?
- 17. Czy istnieje monada Powerset-over-Reader?
- 18. Jak sprawdzić, czy plik node.js jest zainstalowany czy nie
- 19. Jak ustalić, czy dostawca VFPOLEDB jest zainstalowany/zarejestrowany?
- 20. Adobe Air - Wykryj, czy połączenie jest WIFI, 3G lub EDGE
- 21. Sprawdź MSWord jest zainstalowany w systemie
- 22. Adobe AIR do wykonania programu
- 23. Jak sprawdzić w C#, gdzie program jest zainstalowany
- 24. Excel-reader Problem UTF
- 25. Łączenie plików PDF i zachowanie rozszerzonych funkcji w Acrobat Reader
- 26. Uruchamianie programu Acrobat Reader 10.0 z C#: jak zminimalizować?
- 27. Sprawdź, czy zainstalowany jest serwer SQL (dowolna wersja)?
- 28. Jak sprawdzić, czy jest zainstalowany dodatek .NET 3.5 SP1?
- 29. jak sprawdzić, czy jest zainstalowany mangusta (MongoDB) lub nie
Jeśli naprawdę chcesz zrobić, to sprawdzić, czy przeglądarka plików PDF jest zainstalowana w systemie, NIE sprawdzaj programu Adobe Reader. Ja i niektórzy moi współpracownicy używają Foxit Reader, który jest o wiele lepszy niż Adobe Reader. – OregonGhost