Pfad herausfinden

JaD

Mitglied
Hallo,
also ich habe folgendes Problem.
Ich habe eine Toolbox, die verschieden kleine Anwendungen aufrufen soll (liegen alle in einem mir bekannten Ordner).
Mein Problem ist jetzt, dass das Programm die Anwendungen zwar startet aber nur, wenn ich einen konkreten Pfad angebe.
Ich will aber davon ausgehen, dass ich nicht weiß wo die Programme liegen.
Vielleicht kann man das über die Registry öffnen, aber da is ja auch kein Pfad angegeben.
Wäre super, wenn ihr mir da vlt nen Tipp geben könntet.
Gruß Janinoe
 
Du kannst Programme nur starten, wenn du weißt, wo die sind. Also konkreter Pfad.

Sonst müßtest du ja die komplette Ordner-Struktur durchsuchen.

Oder die Programme liegen in einem der Pfade, die in der Environment-Variablen "PATH" angegeben sind. Würde ich so aber auf keinen Fall machen.

Wie willst du denn sonst ein Programm starten, wenn du es nicht kennst?
 
Hmm, das is ja mein Problem.
Die kleinen Anwendungen werden beim Installieren meines Hauptprogramms mitinstalliert.
Da dachte ich, man könnte vlt die Registry auslesen um zu gucken wo installiert wurde und dann einfach den Pfad entsprechend erweitern, zu dem Odner wo die Anwendungen liegen....Der ist immer der gleiche. Und den "zusammengebastellten" Pfad dann zum öffnen nehmen...Weiß nur nicht ob das so geht
 
Hmm, das is ja mein Problem.
Die kleinen Anwendungen werden beim Installieren meines Hauptprogramms mitinstalliert.
Da dachte ich, man könnte vlt die Registry auslesen um zu gucken wo installiert wurde und dann einfach den Pfad entsprechend erweitern, zu dem Odner wo die Anwendungen liegen....Der ist immer der gleiche. Und den "zusammengebastellten" Pfad dann zum öffnen nehmen...Weiß nur nicht ob das so geht

Also wenn du beim Installieren mit dem Installer die Pfade in die Registry schreiben kannst und weißt wo du die findest dann sollte es eigentlich kein Problem sein die von deinem Toolbox-Programm auslesen zu lassen. (und dann hast du ja den Pfad)

Hoffe dein Problem/Wunsch richtig verstanden zu haben

Gruß
Rudolf Grauberger
 
Zuletzt bearbeitet:
So halb :)
Also, da is halt dieses Hauptprogramm, dass Pfade in die Registry schreibt.
Und gleichzeitig legt es halt noch diese Tools die ich öffnen möchte mit auf den Rechner. Aber ohne den Pfad in die Registry zu setzen.
Jetzt dachte ich mir vlt könnte ich ja den ersten Teil des Programmes aus der Registry auslesen, damit ich weiß wo das Programm liegt. Und wenn ich das weiß einfach den Ordern wo die Tools drin liegen, weil der immer an der gleichen Stelle liegt.
Weiß nur halt nicht ob das überhaupt geht und wenn ja wie ich da ran gehe.
 
Also, da is halt dieses Hauptprogramm, dass Pfade in die Registry schreibt.
Und gleichzeitig legt es halt noch diese Tools die ich öffnen möchte mit auf den Rechner. Aber ohne den Pfad in die Registry zu setzen.

Was spricht dagegen das auch für die Tools zu tuen? Wenn du nicht zuviel in der Registry machen möchtest dann schreib die Pfad z. B. einen .ini Datei und lasse es von der Toolbox-Anwendung auslesen.

Jetzt dachte ich mir vlt könnte ich ja den ersten Teil des Programmes aus der Registry auslesen, damit ich weiß wo das Programm liegt.

Wie gesagt du kannst nur das auslesen was du da rein geschrieben hast bzw. rein geschrieben wurde

Und wenn ich das weiß einfach den Ordern wo die Tools drin liegen, weil der immer an der gleichen Stelle liegt.

Dann weißt du ja wo die liegen.

Ich will aber davon ausgehen, dass ich nicht weiß wo die Programme liegen.
das wiederspricht einwenig die obrige Aussage.

Gruß
Rudolf Grauberger
 
Was spricht dagegen das auch für die Tools zu tuen? Wenn du nicht zuviel in der Registry machen möchtest dann schreib die Pfad z. B. einen .ini Datei und lasse es von der Toolbox-Anwendung auslesen.
An den Tools kann/soll/darf ich nichts änder...

Dann weißt du ja wo die liegen.

das wiederspricht einwenig die obrige Aussage.

Also ich weiß halt dass sie immer Hauptprogramm\Service liegen nur halt nicht wo das Hauptprogramm liegt....
Wo das liegt könnte ich dann ja irgenwie über die Registry rausfinden.
Jetzt weiß ich halt nur nicht ob ich das dann verknüpfen kann...
quasi: "Ausgelesener Pfad aus Registry" + Hauptprogramm\Service
 
Jetzt weiß ich halt nur nicht ob ich das dann verknüpfen kann...
quasi: "Ausgelesener Pfad aus Registry" + Hauptprogramm\Service

Wenn du den Pfad der aus der Registry in einen String/Char konvertierst dann sollte ist es möglich mit einem "anderem" String zu verbinden. (ich mein das Stichwort dazu heißt "Stringmanipulationen")

Wie dann die Anweisung in C++ aussieht kann ich dir leider nicht sagen. (da ich mit C++/CLI arbeite)

So könnte das "verbinden" in C++/CLI aussehen

C++:
String ^txt;

txt = "c:\\";

txt += "Programme\\";

//ist die Abkürzung für
txt = txt + "Programme\\";

//der Text in txt währe damit "c:\\Programme\\"

edit: Was ich mich jetzt frage ist, wenn du nichts an dem Programm ändern darfst wie willst du dann das "verbinden" etc. lösen?

Gruß
Rudolf Grauberger
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: JaD
Habs mit dem auslese hingekriegt und das zusammensetzen hat jetzt auch geklappt :).
Vielen Dank für eure Hilfe
 
Zurück