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
[gelöst] Qt App Argumente (File Association)
[gelöst] Qt App Argumente (File Association)
Zuletzt geändert von ZSchneidi am 13. April 2010 14:18, insgesamt 1-mal geändert.
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:
Du wirst sehen, dass argv[1] Deine Datei enthält.
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]);
}
}
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
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.
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 ^^
Werde mich dann jetzt an die verarbeitung machen.
Werd dann wohl noch ne Meldung abgeben wie es gelaufen ist ^^