| Autor |
Beitrag |
moloch
      
Beiträge: 451
Win 2000
D5 Prof
|
Verfasst: Mi 11.05.05 07:18
Hallo Leute,
ich habe eine Anwendung geschrieben die PDF-Dateien erstellt.
Jetzt möchte ich gerne wissen wie man überprüft ob überhaupt Acrobat Reader installiert ist um Exceptions zu vermeiden.
Kann mir da jemand helfen?
mfg
moloch
|
|
mirom
      
Beiträge: 56
Win2000, Win XP
|
Verfasst: Mi 11.05.05 07:44
Wie hast du es gemacht, hast eine Komponente benutzt oder alles sebs gebastelt ?
Grüße, Miro M.
|
|
moloch 
      
Beiträge: 451
Win 2000
D5 Prof
|
Verfasst: Mi 11.05.05 07:55
|
|
mirom
      
Beiträge: 56
Win2000, Win XP
|
Verfasst: Mi 11.05.05 08:03
Komerzielle oder Freeware? Kannst, bitte, sagen welche ?
Danke, Miro M.
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mi 11.05.05 08:12
Ich würde in der Registry mal nachsehen, ob Acrobat nach der Installation einen Schlüssel ablegt (Das wird bestimmt der Fall sein). Diesen kannst du dann prüfen.
Eine andere, aber nicht so sichere, Möglichkeit wäre, den Installationspfad zu prüfen. Der könnte aber variieren.
@mirom:
Bei [url= www.torry.net]Torry[/url] wirst du bestimmt was passendes finden.
|
|
mirom
      
Beiträge: 56
Win2000, Win XP
|
Verfasst: Mi 11.05.05 08:33
versuche:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| Regis := TRegistry.Create(KEY_READ); Regis.RootKey := HKEY_CLASSES_ROOT; if Regis.OpenKey('Applications\AcroRd32.exe\shell\Open\command', False) then begin txt := Regis.ReadString(''); Regis.CloseKey; end;
if FileExists(txt + '\AcroRd32.exe') then **** OK **** |
Grüße, Miro M.
Moderiert von Christian S.: Code- durch Delphi-Tags ersetzt.
|
|
moloch 
      
Beiträge: 451
Win 2000
D5 Prof
|
Verfasst: Do 12.05.05 11:19
hey leute,
so klappt es. Wenn es daran was auszusetzen gibt, bitte bescheid sagen.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| Result := false; reg := TRegistry.Create(KEY_READ); with reg do begin try RootKey := HKEY_CLASSES_ROOT; if OpenKey('CLSID\{CA8A9780-280D-11CF-A24D-444553540000}', False) then Result := true finally CloseKey; Free end end |
mfg
moloch
Moderiert von Christian S.: Code- durch Delphi-Tags ersetzt.
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Do 12.05.05 11:23
Es kann aber immer noch zu Fehlern kommen, wenn der User den AcrobatReader per Hand gelöscht hat  .
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Do 12.05.05 11:33
Heiko hat folgendes geschrieben: | Es kann aber immer noch zu Fehlern kommen, wenn der User den AcrobatReader per Hand gelöscht hat . |
Oder die EXE umbenennt.
Solchen Usern werden bei uns regelmäßig die Hände abgehackt.
Das ist dann echte Dummheit. Das Programm sollte dann mit einer schweren Schutverletzung den ganzen Rechner mit ins Nirvana ziehen. 
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 12.05.05 11:33
Aus dem Grund gräbt man noch ein bisschen tiefer: DoesObjectExist@DP. Als Parameter wäre in dem Fall die GUID des Acrobat ({CA8A9780-280D-11CF-A24D-444553540000}) zu benutzen. Die Funktion liest zusätzlich noch den Standardwert, üblicherweise der Dateiname, und liefert TRUE nur zurück, wenn die Datei gefunden wurde.
|
|