Andere Anwendung öffnen

Deunan

Mitglied
Hi Ihr!

Vielleicht könnt Ihr mir ja helfen!

Ich arbeite mit VisualStudio 6.0 und möchte gerne ein Programm wie z.B. den Adobe Acrobat Reader von meinem eigenen Programm durch klick auf einen Button öffnen.

Leider habe ich dazu noch nichts gefunden.

Kann ich das irgendwie so programmieren, dass das System selbst erkennt wo die exe-Datei des Programmes liegt und ich nicht erst den kompletten Pfad angeben muss?
Sonst würde das Programm ja nur auf einem PC funktionieren, dessen Acrobat Reader (Beispiel) genau an dem gleichen Pfad liegt wie an meinem Rechner.

Kann ich irgendwo auslesen, wo die ganzen Programme liegen? Ähnlich der Softwareliste bei Systemsteuerung/Software. Wo alle Programme aufgelistet sind und so.

Ich hoffe Ihr versteht mein Problem!

Mfg
Danke!

Deunan
 
Am einfachsten (aber sollte man nicht mehr verwenden) ist der API-Aufruf WinExec. Da kannst Du den Pfad der Applikation und ebenfalls Kommandozeilenparameter (hier den Pfad für das PDF-File) mitgeben.
Den Pfad müsstes Du aber trotzdem vorgeben bzw. konfigurieren. Höchstens Du hast die Umgebungsvariablen so eingerichtet, dass Deine Applikation in einem der Umgebungsvariablen gesucht wird.

Willst Du es richtig machen, dann müsstest Du einen Prozess öffnen usw.
 
Also ich würde auf jedem Fall mal den Pfad aus der Registry auslesen und zwar unter:
HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\5.0\InstallPath
steht unter der Standardvariablen der Pfad drin:
(Standard)="C:\\Programme\\Adobe\\Acrobat 5.0\\Reader"
und die EXE heißt immer "AcroRd32.exe".
Ausführen würde ich das auch auf alle Fälle mit CreateProcess().

Gruss Homer
 
Hi!
Hab mich für den Befehl:

ShellExecute(NULL, "open", Word, NULL, NULL, SW_SHOWNORMAL);

entschieden. Leider funktioniert er nicht mit Win200 und höher (hab ich das Gefühl).

Bei CreateProcess verstehe ich die ganzen Paramter nicht wirklich,
kurz gesagt, ich krieg das nicht hin damit.

Kann mir da jemand sagen wobei es bei CreateProcess es nun wirklich ankommt?

Danke!

Deunan

Habe mich verschrieben und habs ausgebessert! CreateProcess natürlich! Tur mir leid!
 
Zuletzt bearbeitet:
Daniel Toplak hat gesagt.:
Also ich würde auf jedem Fall mal den Pfad aus der Registry auslesen und zwar unter:
HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\5.0\InstallPath
steht unter der Standardvariablen der Pfad drin:
(Standard)="C:\\Programme\\Adobe\\Acrobat 5.0\\Reader"
und die EXE heißt immer "AcroRd32.exe".
Ausführen würde ich das auch auf alle Fälle mit CreateProcess().

Gruss Homer

Ich habe das gleiche Problem.
Was mache ich denn, wenn der Benutzer, der dass Programm auf seinem PC laufen lässt eine älter oder neuere Acrobat-Version als 5.0 hat?
 
Hy!

deltHorst hat gesagt.:
Ich habe das gleiche Problem.
Was mache ich denn, wenn der Benutzer, der dass Programm auf seinem PC laufen lässt eine älter oder neuere Acrobat-Version als 5.0 hat?

Du könnest z.B. die Schlüssel auslesen die in HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader sind, und mit dem der einer Versionsnummer entspricht weiterarbeiten.

mfg
uhu01
 
Zurück