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

Alles rund um die Programmierung mit Qt
Antworten
ZSchneidi
Beiträge: 65
Registriert: 16. Juli 2009 13:30

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

Beitrag 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
Zuletzt geändert von ZSchneidi am 13. April 2010 14:18, insgesamt 1-mal geändert.
mgleich
Beiträge: 7
Registriert: 30. März 2010 11:31
Wohnort: Stralsund
Kontaktdaten:

Beitrag 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.
GSoft
Beiträge: 24
Registriert: 30. Dezember 2008 01:16
Wohnort: NRW

Beitrag von GSoft »

edit: Sorry habe den Beitrag nicht richtig gelesen...
Zuletzt geändert von GSoft am 13. April 2010 10:53, insgesamt 1-mal geändert.
Lerne aus den Fehlern Anderer! Du hast nicht die Zeit sie selbst zu machen.
GSoft
Beiträge: 24
Registriert: 30. Dezember 2008 01:16
Wohnort: NRW

Beitrag 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
Lerne aus den Fehlern Anderer! Du hast nicht die Zeit sie selbst zu machen.
ZSchneidi
Beiträge: 65
Registriert: 16. Juli 2009 13:30

Beitrag 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 ^^
ZSchneidi
Beiträge: 65
Registriert: 16. Juli 2009 13:30

Beitrag von ZSchneidi »

Hmm lecker ^^

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

habt dank für die Hilfestellung.
Antworten