Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Version abfragen in Word, Excel, Outlook und Access (https://www.delphipraxis.net/15715-version-abfragen-word-excel-outlook-und-access.html)

LuckySpacy 3. Feb 2004 10:43


Version abfragen in Word, Excel, Outlook und Access
 
Hallo,
ich möchte ein Delphiprogramm schreiben, was die Versionen der Installierten Microsoftprodukte anzeigt.

Ich hätte da ganz gerne den ersten Text, der angezeigt wird wenn man über ? auf Info klickt.
Also, den Produktname, das Jahr, die SR Nr. und die Versionsnummer.

Kann mir da jemand weiter helfen?

Garby 3. Feb 2004 11:29

Re: Version abfragen in Word, Excel, Outlook und Access
 
Hallo,

die Infos dürften alle in der Registry unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ zu finden sein.

LuckySpacy 3. Feb 2004 12:19

Re: Version abfragen in Word, Excel, Outlook und Access
 
Danke erst einmal für die Antwort.

Also, ich habe jetzt unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ in der Registry nachgeschaut.
Ich konnte aber nichts finden.

Daraufhin habe ich die Registry durchsucht und unter
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSInfo\Categories\Applications\Word" konnte ich zumindest den Produktnamen sowie das Jahr sehen.

Aber das alles nützt mir nichts.
Ich brauche eine definitive Aussage, wie ich an die Informationen komme.
Das Programm soll auf verschiedenen Windowsversionen (95, 98, NT, 2000, XP) laufen und immer funktionieren.
Deshalb nützt es mir nichts, wenn ich auf meinem Rechner die Informationen von Hand zusammensetze und auf einem anderem Rechner (anderes Windows, anderes Office-Paket) dann nichts angezeigt wird.

Cuchulainn 3. Feb 2004 13:08

Re: Version abfragen in Word, Excel, Outlook und Access
 
Sieh dir mal die Hilfe zur Windows API an. Vielleicht findest du dort etwas.

Mario 3. Feb 2004 13:41

Re: Version abfragen in Word, Excel, Outlook und Access
 
Delphi-Quellcode:
function GetInstalledWordVer: String;
 VAR Registry: TRegistry;
     TempString: String;
begin
 Registry:=TRegistry.Create;
 Registry.RootKey:=HKEY_CLASSES_ROOT;
 Registry.OpenKey('Word.Application\CurVer',False);
 TempString := '';
 TRY
  TempString :=Registry.ReadString('');
 EXCEPT
 END;
 Result := TXT_KeinWord;
 IF LastDelimiter('.',TempString) > 0
  THEN
   BEGIN
    CASE StrToInt(Copy(TempString, LastDelimiter('.',TempString) + 1, Length(TempString))) OF
     6: Result := TXT_Word95;
     8: Result := TXT_Word97;
     9: Result := TXT_Word2k;
     10:Result := TXT_WordXP;
     11:Result := TXT_Word2003;
    ELSE Result := TXT_WordUnbekannt;
    END; // CASE
   END; // END
 Registry.Free;
End; // function GetInstalledWordVer: String;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz