exe einer externen app finden ohne hdd durchsuchen
exe einer externen app finden ohne hdd durchsuchen
Hi alle!
ich hab eine frage, falls ich QDesktopService falsch verstanden habe sagt mir bescheid, ich les dann nochmal nach!
mit QDesktopServices kann ich ja z.bspl. eine url ausführen ( "c:\text.doc" )
daraufhin wird ja die Datei mit einem entsprechendem regstrierten Program, was vermutlich beim windows beispiel word ist öffnen und die datei laden.
Gibt es eine Möglichkeit den Pfad zur word.exe im Vorfeld herauszubekommen?
Dank im voraus!
cheers,
mike
ich hab eine frage, falls ich QDesktopService falsch verstanden habe sagt mir bescheid, ich les dann nochmal nach!
mit QDesktopServices kann ich ja z.bspl. eine url ausführen ( "c:\text.doc" )
daraufhin wird ja die Datei mit einem entsprechendem regstrierten Program, was vermutlich beim windows beispiel word ist öffnen und die datei laden.
Gibt es eine Möglichkeit den Pfad zur word.exe im Vorfeld herauszubekommen?
Dank im voraus!
cheers,
mike
Guck dir QSettings an, den Pfad zu Word findest du in der Registry unter HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe
Wie du jetzt heraus findest mit welcher App *.doc verknüpft ist, könnte ja auch OpenOffice oder Papyrus sein, das überlasse ich dir. Die Info findet sich bestimmt auch in der Registry
Wie du jetzt heraus findest mit welcher App *.doc verknüpft ist, könnte ja auch OpenOffice oder Papyrus sein, das überlasse ich dir. Die Info findet sich bestimmt auch in der Registry
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Hi macman
QSettings werd ich mr mal anschauen, das mit word war nur einbeispiel...
gehen wir davon aus das ich nur die dateiendung habe bzw. das filename der zu öffnenden datei. Gibt es einen Weg herauszufinden wie die applicaion fuer die datei heisst?
Ihr kennt das doch wenn eine endung registriert ist kann man sie doppelklicken, sie wird automatisch mit der passenden anwendung geladen. wenn es keine anwednung gibt popt der dialog aufindem man eine anwendung auswählen kann.
Man muss doch irgendwie an diese information rankommen mittels QT.
=( help
QSettings werd ich mr mal anschauen, das mit word war nur einbeispiel...
gehen wir davon aus das ich nur die dateiendung habe bzw. das filename der zu öffnenden datei. Gibt es einen Weg herauszufinden wie die applicaion fuer die datei heisst?
Ihr kennt das doch wenn eine endung registriert ist kann man sie doppelklicken, sie wird automatisch mit der passenden anwendung geladen. wenn es keine anwednung gibt popt der dialog aufindem man eine anwendung auswählen kann.
Man muss doch irgendwie an diese information rankommen mittels QT.
=( help
-
-=Freaky=-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
es wurde doch schon gesagt, dass diese verknuepfungen dateiendung<->programm unter windows wohl irgendwo in der registry stehen werden.T1c4L hat geschrieben:Man muss doch irgendwie an diese information rankommen mittels QT.
google mal danach, da wird bestimmt was zu finden sein.
unter linux systemen wird es wohl in irgendwelchen configs des desktop environments stehen.
mfg,
julian
Mit Sicherheit nicht, wozu auch. Warum willst Du wissen mit welcher App irgendwas geöffnet wird? Um an die Informationen heran zu kommen wird so plattformspezifisch sein, das du selbst was basteln musst. Und wo man die Informationen her bekommt, wirst du an anderen Stellen fragen müssen, und zwar für jede Plattform einzeln.T1c4L hat geschrieben:Man muss doch irgendwie an diese information rankommen mittels QT.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Ich halte dies besser als blind drauf eine Exe zu starten...Warum willst Du wissen mit welcher App irgendwas geöffnet wird?
Beispiel.:
.mm Dateien sollen mit einem Tool (Freemind) geöffnet werden.
Ich könnte jetzt natürlich hatcodier den pfad zur freemind.exe via QProcess ausführen... fände ich aber sehr dämlich. Da die exe ja nicht immer im selben verzeichnis liegt. Sowas ist ja von PC zu PC anders. mal liegt sie in C:\Programme, mal direkt auf C:\ etc....
mit QDesktopServices kann ich diese .mm Datei öffnen lassen ohne zu wissen wo sich die Exe befindet... aber mit QDesktopServices hab ich keinen zugriff auf den process um zum Beispel rauszufinden ob der User die Application Freemind geschlossen hat.
Daher brauch ich den Pfad zur Exe.
Du willst die Kontrolle über den Prozess und das geht nur wenn Du ihn selbst startest, schon klar. Es gibt aber keinen Weg der auf allen Plattformen funktioniert, dafür ist das zu speziell. Unter Win steht alles in der Registry, beim Mac würde ich den launchd befragen und bei Linux weiß ich es gar nicht mehr. Schon Ewigkeiten nichts mehr mit gemacht.T1c4L hat geschrieben:Ihr könnt doch ersehen worauf ich hinaus will oder?
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Nunja, man könnte ja zum Beispiel in die Quellen zu QDesktopServices schauen, und nachsehen wie Trolltech das machtmacman hat geschrieben:Du willst die Kontrolle über den Prozess und das geht nur wenn Du ihn selbst startest, schon klar. Es gibt aber keinen Weg der auf allen Plattformen funktioniert, dafür ist das zu speziell. Unter Win steht alles in der Registry, beim Mac würde ich den launchd befragen und bei Linux weiß ich es gar nicht mehr. Schon Ewigkeiten nichts mehr mit gemacht.T1c4L hat geschrieben:Ihr könnt doch ersehen worauf ich hinaus will oder?
Da ist irgendwo ein Plattform-Switch und die entsprechenden Aufrufe. Vielleicht wird da sogar QProcess verwendet und man kanns einfach kopieren.
Aber auch nur wie man den Befehl an den Desktop übergibt. Der Service wird nicht nach dem entsprechenden Programm suchen und QProcess wird wahrscheinlich auch nicht benutzt. Das ist jetzt aber Theorie, hab nicht nach gegucktpfid hat geschrieben:Da ist irgendwo ein Plattform-Switch und die entsprechenden Aufrufe.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.