Come posso verificare se Adobe Reader o Acrobat è installato nel sistema? anche come ottenere la versione? (Nel codice C#)Controllare che Adobe Reader sia installato (C#)?
risposta
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 lo sta mettendo da qualche altra parte o la mia macchina Windows8 lo ha in modo diverso, ha modificato il codice sopra per provare a trovare Adobe in 'Software.Policies' –
ha funzionato molto bene su IE, Chrome e FF. –
C'è un modo per controllare il codice C# se il lettore Adobe installato è aggiornato, o se è disponibile un nuovo aggiornamento? –
perche anche le persone che eseguono sistemi operativi a 64 bit e, potenzialmente, in esecuzione sia a 32 bit o versioni a 64 bit di adobe reader.
Il seguente codice è una versione modificata della soluzione postata di Abmv, ma ciò verificherà se le versioni a 64 bit del lettore Adobe vengono installate prima di verificare le versioni a 32 bit.
Spero che questo abbia senso! :-)
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!");
}
}
}
}
ha funzionato molto bene con me su IE, Chrome e FF. –
C'è un modo per controllare il codice C# se il lettore Adobe installato è aggiornato, o se è disponibile un nuovo aggiornamento? –
L'unica soluzione che funziona per me è:
var adobePath = Registry.GetValue(
@"HKEY_CLASSES_ROOT\Software\Adobe\Acrobat\Exe", string.Empty, string.Empty);
Poi ho verificare se è installato adobePath != null
quindi Adobe reader.
In questo modo otterrò anche il percorso dell'eseguibile del lettore acrobat.
- 1. Controllare che Solidworks sia installato?
- 2. Javascript Rileva se Adobe Reader è installato
- 3. Documentazione per Adobe PDF Reader control axAcroPDF
- 4. javascript rilevare adobe plug-reader per il browser
- 5. Controllare se è installato un qualsiasi lettore PDF
- 6. Schede Adobe Acrobat Reader Salvataggio e caricamento automatico
- 7. Gedcom Reader per C#
- 8. come controllare che la sessione sia scaduta in java?
- 9. Mysql UDF sia installato (ma non esiste?)
- 10. controllare se è installato un programma
- 11. Come posso controllare che una variabile C# sia una stringa vuota "" o null?
- 12. C# Come posso verificare che un file sia jpeg?
- 13. Visualizza sia il codice assembly che C
- 14. Come sviluppatore Web ASP.NET che utilizza Visual Studio, è necessario che IIS sia installato?
- 15. Verificare che un valore intero sia Nullo in C#
- 16. htaccess pcfg_openfile: impossibile controllare il file htaccess, assicurarsi che sia leggibile e che '/files/domain.com/public_html/images/' sia eseguibile
- 17. file di intestazione sql.h mancante sebbene sia installato unixODBC
- 18. Come si modifica in modo permanente il colore dell'evidenziatore in Adobe Acrobat Reader DC?
- 19. È possibile rendere Adobe Reader non in possesso di un blocco di file su Windows?
- 20. Il font ttf incorporato iText non è visibile in Adobe Reader
- 21. È possibile aprire un file PDF con un ingrandimento predefinito in Adobe Reader?
- 22. C++ Impression di librerie di sorgenti Adobe?
- 23. In che modo Lisp può essere sia dinamico sia compilato?
- 24. Come impostare l'icona su un'applicazione Adobe Adobe
- 25. È necessario che sul computer di generazione sia installato Microsoft Office 2007?
- 26. Windows 8.1: Vagrant non ha potuto rilevare VirtualBox! Assicurarsi che VirtualBox sia installato correttamente
- 27. È necessario che SharePoint 2013 sia installato sul computer locale per lo sviluppo delle partizioni Web?
- 28. Impossibile avviare AVD nell'emulatore. Assicurati che Intel HAXM sia correttamente installato e utilizzabile
- 29. C++ non installato in Cygwin
- 30. Come verificare che un file sia vuoto?
Se ciò che si vuole realmente fare è controllare se un visualizzatore PDF è installato sul sistema, NON cercare Adobe Reader. Io e alcuni dei miei colleghi stiamo usando Foxit Reader, che è molto meglio di Adobe Reader. – OregonGhost