Seite 1 von 1

[gelöst] Qt App Argumente (File Association)

Verfasst: 12. April 2010 21:53
von ZSchneidi
Hi, sorry mir viel echt kein besserer Titel ein.

Ich habe dazu auch einfach nichts finden können.

Bin jetzt das erste mal damit beschäftigt ein Programm so zu gestalten, dass man damit Dateien über das Betriebssystem selbst öffnen kann.

Das bezieht sich meines erachtens nach auf die File Association.

Also wenn ich eine Datei.xy habe, und die öfne möchte ich, dass diese datei mit meiner App geöffnet wird. Ich nehme zumindest an, dass dabei eine referenz auf diese datei der QApp als Argument mitgegeben wird, weiß es aber eben nicht genau. Ich konnte dazu leider auch keine großen Beispiele finden.

Ich hoffe ja ihr könnt mir dabei weiter helfen. Ich weiß nichtmal wonach ich da suchen muss. Ich konnte mich hoffentlich so deutlich machen, dass ihr auch wisst was ich überhaupt meine ^^

Wenn ihr dazu also eine Hilfestellung für mich habt wäre das super, das is totales Neuland für mich.

Dank euch

Verfasst: 12. April 2010 23:14
von mgleich
Du wirst ja sicherlich ne main Methode habe. Diese hat als Parameter argc und argv. Im Normalfall sollte der erste Parameter die Datei sein mit der das Programm aufgerufen wird.

D.h. also, wenn Du unter Windows einer bestimmten Dateiendung Dein Programm zugewiesen hast, wird Dein Programm automatisch mit der Datei, auf die Du doppelt klickst, gestartet.

Zur Sicherheit hier ein Beispiel:

Code: Alles auswählen

int main(int argc, char* argv[])
{
    for(int i=0; i < argc; ++i)
    {
        qWarning("%s", argv[i]);
    }
}
Du wirst sehen, dass argv[1] Deine Datei enthält.

Verfasst: 13. April 2010 10:46
von GSoft
edit: Sorry habe den Beitrag nicht richtig gelesen...

Verfasst: 13. April 2010 10:53
von GSoft
Dafür musst du den Dateitypen (unter Windows!) für deine App registrieren.

Wie das geht kannst du hier finden:

http://stackoverflow.com/questions/1387 ... ation-in-c

http://msdn.microsoft.com/en-us/library ... S.85).aspx

Dabei muss deine Anwendung natürlich den dann übergebenen Parameter (also als zweiter Parameter wird dann die angeklickte Datei übergeben) auswerten.

Wie das geht, kommt ganz drauf an wie bzw. was deine Anwendung ist (TextEditor etc.) aber an die übergebene Datei kommt du auf jeden fall über argv[1].

Gruß
GSoft

Verfasst: 13. April 2010 11:55
von ZSchneidi
Ok, ich dank euch erstmal, ich hab es gestern abend leider nicht mehr geschafft, das auf eigene Faust raus zu fummeln, da ich probleme mit dem Release hatte, das Problem hab ich jetz noch gefixt und konnte mir zumindest grad noch den argc angucken, der hat sich auch um 1 erhöht, als mich eine datei zugewiesen habe.

Werde mich dann jetzt an die verarbeitung machen.

Werd dann wohl noch ne Meldung abgeben wie es gelaufen ist ^^

Verfasst: 13. April 2010 14:18
von ZSchneidi
Hmm lecker ^^

Sieht gut aus, konnte jetzt erfolgreich, den Pfad zur zu öffnenden Datei
verarbeiten.

habt dank für die Hilfestellung.