2009-05-22 12 views

risposta

11

This code indica che un semplice controllo del registro farà il lavoro.

Ecco il codice convertito in C# (e leggermente migliorato per usare una dichiarazione using).

using Microsoft.Win32; 

// Check whether Microsoft Word is installed on this computer, 
// by searching the HKEY_CLASSES_ROOT\Word.Application key. 
using (var regWord = Registry.ClassesRoot.OpenSubKey("Word.Application")) 
{ 
    if (regWord == null) 
    { 
     Console.WriteLine("Microsoft Word is not installed"); 
    } 
    else 
    { 
     Console.WriteLine("Microsoft Word is installed"); 
    } 
} 

Nota che non è abbastanza buono per controllare C:\Program Files\Microsoft Office\ per il file EXE msword, come l'utente potrebbe aver installato da qualche altra parte.

+1

Come posso ottenere la versione 2003 o 2007? – Sauron

0

Una delle soluzioni, penso che ci dovrebbe essere meglio se si fa su Google. Per verificare se è installato Excel o no, io uso questo codice C#

Excel.Application app = new Excel.ApplicationClass(); 

se app == null che significa che Excel non è installato sul machine.If di controllare la documentazione MSDN, si dovrebbe essere in grado di ottenere la sintassi per aprendo una parola appln.

+0

Ho la sintassi per l'apertura di un documento word. Ma se la parola non è installata ............. – Sauron

+1

Pensavo che il nuovo operatore restituisse un oggetto in ogni caso. Quindi 'app' non può essere nulla, giusto? Potrebbe esserci un'eccezione se Word non è installato ma non lo so ancora. – Alex

Problemi correlati