Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programmpfad einer fremden Anwendung ermitteln (https://www.delphipraxis.net/188442-programmpfad-einer-fremden-anwendung-ermitteln.html)

Jean312 4. Mär 2016 04:43

Programmpfad einer fremden Anwendung ermitteln
 
Hallo,

in einer Anwendung prüfe ich, ob ein bestimmtes Programm schon läuft (IsExeRunning). Nun möchte ich aber, für den Fall, dass die Anwendung noch nicht läuft, diese starten.
Dafür muss ich den Pfad, in dem sich die exe befindet, herausfinden.
Ich habe es mit ExtractFileDir(exe-Name) versucht, erhalte aber einen leeren string zurück.

Wie kann man das am besten umsetzen?

Viele Grüße.

4dk2 4. Mär 2016 07:15

AW: Programmpfad einer fremden Anwendung ermitteln
 
Hallo,
ist dir denn der Pfad bekannt, wo die sich befinden muss?
z.b. c:\programme\abc\xyz.exe ?
ExtractFileDir liefert dir nur den pgrogrammpfad von dem übergebenen:
ExtractFileDir(c:\programme\abc\xyz.exe) = "c:\programme\abc\"
ExtractFileDir(xyz.exe) = ""
Die Routine sucht nicht nach der Ausführbaren Datei!

wwwolfgang 4. Mär 2016 10:58

AW: Programmpfad einer fremden Anwendung ermitteln
 
Vielleicht hilft das hier weiter: http://www.entwickler-ecke.de/topic_...chen_94,0.html

Jean312 5. Mär 2016 03:36

AW: Programmpfad einer fremden Anwendung ermitteln
 
Den Pfad kenne ich nicht, das ist das Problem.
Die entsprechenden Programme, die ich prüfen will, ob sie bereits laufen, können vom Anwender ja auch benutzerdefiniert installiert worden sein.

Wenn dieses Anwendungen also noch nicht laufen, dann sollen sie gestartet werden, vorausgesetzt, dass sie überhaupt installiert worden. Die Namen der ausführbaren exe(n) (dieser fremden Anwendungen) sind mir bekannt.
Daher möchte ich den Pfad ermitteln, wenn diese sich auf dem PC des Anwenders befinden.

Dalai 5. Mär 2016 03:42

AW: Programmpfad einer fremden Anwendung ermitteln
 
Dann wirst du suchen müssen. Wie anders soll das funktionieren? Einen Pfad einer Anwendung, die nicht läuft, kann nicht mal Chuck Norris ermitteln. OK, der vielleicht schon, aber ich nehme nicht an, dass der es nötig hätte, hier zu fragen ;).

MfG Dalai

mm1256 5. Mär 2016 16:52

AW: Programmpfad einer fremden Anwendung ermitteln
 
Wenn die Programme bekannt sind muss man doch nur in der Registry nachsehen, ob und wo sie installiert sind. Anständig installierte Programme hinterlassen hier ihre Spuren, z.B. einen Uninstall-String. Hilft das nicht weiter, dann einmal die Platte(n) nach den Echsen absuchen und sich die Pfade merken.

himitsu 5. Mär 2016 20:22

AW: Programmpfad einer fremden Anwendung ermitteln
 
MSDN-Library durchsuchenFindExecutable

wuschel2016 5. Mär 2016 21:58

AW: Programmpfad einer fremden Anwendung ermitteln
 
Zitat:

Zitat von mm1256 (Beitrag 1332175)
Wenn die Programme bekannt sind muss man doch nur in der Registry nachsehen, ob und wo sie installiert sind. Anständig installierte Programme hinterlassen hier ihre Spuren, z.B. einen Uninstall-String. Hilft das nicht weiter, dann einmal die Platte(n) nach den Echsen absuchen und sich die Pfade merken.

Manche Programme sind "portable" und hinterlassen daher fast bis nichts in der Registry, ausser im "recently"-Zweig (oder wie das Ding heisst, wo die zuletzt gestarteten Programme gemerkelt werden).

Sir Rufo 6. Mär 2016 02:53

AW: Programmpfad einer fremden Anwendung ermitteln
 
Ob die Anwendung läuft findet man nur heraus, wenn man die eindeutig beschreiben kann. Diese Eindeutigkeit bekomme ich durch die Angabe des vollständigen Pfads zur Exe.

Alles andere fällt in den Bereich Spekulation.

Die Delphi IDE selber ist da ein gutes Beispiel. Die Exe heisst bds.exe ... immer, egal welche Version. Und welche von den möglichen ist jetzt konkret gemeint?

Jean312 6. Mär 2016 03:15

AW: Programmpfad einer fremden Anwendung ermitteln
 
@Dalai: Mal sehen, ob Chuck Norris antwortet. :lol:

@mm1256: Die Registry befragen war schon als Alternative vorgesehen.

@himitsu: FindExecutable klingt ja schon mal gut. Das werde ich mir mal anschauen.

@Sir Rufo: Das stimmt wohl. Ob die Anwendung und wenn, wo die Anwendung installiert ist, weiß ich nicht. Daher muss ich wohl mit der Spekulation leben.
Mal schauen, wie weit mich FindExecutable und die Registry bringen.

Danke für die Denkansätze.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz