Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Outlook Version ermitteln (Ohne OleObj) (https://www.delphipraxis.net/119803-outlook-version-ermitteln-ohne-oleobj.html)

sirarcher 1. Sep 2008 08:46


Outlook Version ermitteln (Ohne OleObj)
 
Hi,

momentan ermittle ich die aktuelle Outlookversion mittels "CreateOleObject".

Delphi-Quellcode:
function TOSSettings.GetOutlookVersion(): string;
var
  objOutlook: OleVariant;
begin
  try
    objOutlook := CreateOleObject('Outlook.Application');
    Result := LeftStr(objOutlook.Version, 2);
  except
    on E:Exception do
    begin
      //Wenn Fehler, dann ist Outlook 97
      Result := 'xx';
    end;
  end;
  WriteCurrentActivity('Outlook version detected.', enGreenHook);
end;
Weiß jemand einen Weg, wie ich ohne OleObjekt die aktuellste Outlook Version bestimmen kann?

Herzlichen Dank!
Gruss

generic 1. Sep 2008 08:57

Re: Outlook Version ermitteln (Ohne OleObj)
 
Du könntest den Registrykey dazu anschauen:

HKEY_CLASSES_ROOT\Outlook.Application

Allerdings ist das nur der Com-Server welche "Outlook.Application" zur Verfügung stellt.
Das sagt also nichts aus, ob nicht ein anderes Outlook installiert ist.

sirarcher 1. Sep 2008 16:49

Re: Outlook Version ermitteln (Ohne OleObj)
 
Wenn ich das richtig verstehe ist hier aber nicht gewährleistet das ich die aktuellste Version bekomme. Oder?

Mit dem OleObj wird ja "Outlook initialisiert". Dann kann ich die Version bestimmen.

HM. Weiß noch jemand was?

Danke trotzdem für den Tip mit der Registry.

shmia 1. Sep 2008 16:56

Re: Outlook Version ermitteln (Ohne OleObj)
 
Delphi-Quellcode:
function ProgIDExists(const ProgID:WideString):Boolean;
var
   tmp : TGUID;
begin
   Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), tmp));
end;

if ProgIDExists('Outlook.Application.12') then
  ShowMessage('Outlook Version 12 installiert')
else if ProgIDExists('Outlook.Application.11') then
  ShowMessage('Outlook Version 11 installiert') // Outlook 2003?

sirarcher 4. Sep 2008 13:28

Re: Outlook Version ermitteln (Ohne OleObj)
 
Danke für den Tipp, funktioniert super!

Cyberbob 4. Sep 2008 13:36

Re: Outlook Version ermitteln (Ohne OleObj)
 
Damit musst du aber jede ID abfragen. Wenn du jetzt bis 12 testest und es später mal 13 oder 14 gibt, kannst du das nicht ermitteln

sirarcher 6. Sep 2008 12:16

Re: Outlook Version ermitteln (Ohne OleObj)
 
Hi,

ist mir klar, da ich sowieso wenn ein neues Office kommt minimale Anpassungen an Registry einträgen usw vornehmen muss, ist diese Möglichkeit für mich akzeptabel und gut nutzbar.

Aja hab gehört Microsoft will 13 auslassen, da unglückszahl oder so *g*

NOCHMALS Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 Uhr.

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