2009-05-22 9 views

Antwort

11

This code zeigt, dass eine einfache Registrierungsprüfung die Aufgabe erledigen wird.

Hier ist der Code in C# konvertiert (und leicht verbessert, um eine using Anweisung zu verwenden).

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"); 
    } 
} 

Beachten Sie, dass es nicht gut genug ist C:\Program Files\Microsoft Office\ für die msword EXE-Datei zu überprüfen, wie der Benutzer es woanders installiert haben könnte.

+1

Wie bekomme ich die Version 2003 oder 2007? – Sauron

0

Einer der Lösung, ich denke, es sollte besser sein, wenn Sie es googlen. zu prüfen, ob Excel installiert ist oder nicht, ich benutze diesen C# -Code

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

wenn app == null das bedeutet, Excel nicht auf dem machine.If installiert ist, um die MSDN-Dokumentation überprüfen, sollten Sie in der Lage sein, die Syntax zu erhalten für Öffnen eines Wortes appln.

+0

Ich habe die Syntax zum Öffnen eines Word-Dokuments. Aber wenn das Wort nicht installiert ist ............. – Sauron

+1

Ich dachte, der new-Operator gibt in jedem Fall ein Objekt zurück. Also kann 'app' nicht null sein, oder? Es kann eine Ausnahme geben, wenn Word nicht installiert ist, aber ich weiß es noch nicht. – Alex