Startseite › Foren › Deutsches LiveCode-Forum › Datei im eigenen Programm mit dem Windows Explorer öffnen
Schlagwörter: Datei, Explorer, Öffnen mit, Windows
- Dieses Thema hat 7 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 5 Jahren, 9 Monaten von Klaus Major.
-
AutorBeiträge
-
-
März 6, 2019 um 17:42 Uhr #13323
Hallo zusammen,
unter Windows kennt man ja folgendes: Wenn man sich im Explorer befindet, kann man ja Dateien per Rechtsklick anklicken und anschließend auf Oeffnen mit… gehen. Jetzt meine Frage: Wie kann ich es bewältigen, dass wenn ich z.B. eine Bildbetrachter App programmiert habe, ich im Windows Explorer auf Oeffnen mit.. gehe und anschließend meine App auswähle, dass die Datei dann in meiner App z.B. bei einem Bild in einem Grafikobjekt angezeigt wird?
Ich hoffe, da kann mir wer weiterhelfen.
Vielen Dank schon mal im Vorraus,
Gruß,
Max -
März 6, 2019 um 19:18 Uhr #13325
Hi Max,
ich bin Mac-User, habe aber mal auf der englischen LC-Mailingliste nachgefragt.
Melde mich, sobald dort etwas Erhellendes gepostet wurde.Gruß
Klaus
-
März 7, 2019 um 10:42 Uhr #13333
Hi Klaus,
Danke!Gruß,
Max
-
März 7, 2019 um 13:40 Uhr #13341
Hi Max,
leider war die Reaktion auf der englischen Liste eher mau, es hat nur einer eine etwas kärgliche und nciht sonderlich befriedigende Antwort gegeben.
Unbedingt nachlesen im Dictionary: „$“ (Dollar = erster Eintrag) und „relaunch“!
Vorweg, wie deine App später in diese Explorer Liste reinkommt, überlasse ich mal Dir…
Offensichtlich müssen wir hier zwei Szenarien unterscheiden und unterschiedlich darauf reagieren.
1. Deine EXE ist noch nicht geöffnet
In dem Fall musst Du einen „startup“ Handler im Stackskript erstellen, der die gelieferten Parameter auswertet und darauf reagiert.Es werden zwei (oder gar mehr) Parameter (Umgebungsvariablen) mitgeliefert:
on startup ## Diese Message bekommt LC als allererstes, noch weit vor "pre-/openstack" ## Wir lassen uns die Variablen anzeigen, immer gut, alles erst zu testen put "$0 = " & $0 & CR & "$1 = " & $1 into fld "anzeige of cd 1 end startup
$0 sollte der Name (oder Pfad?) Deiner EXE sein
$1 der Pfad zu dem Bild, was Deine EXE öffnen soll.Wenn das obige klappt, kannst Du dann Folgendes machen:
Erstelle einen Handler, der das Bild dann in einem Bildobjekt anzeigt und rufe diesen Handler etwas zeitversetzt, die Engine benötigt etwas, um sich ganz auszubreiten und den Stack „quasi“ erst bereitstellt.## Das hier auch ins Stackskript!
command bildanzeigen dasbild set the filename of img "Dein Boildobjekt hier..." of cd XYZ to dasbild end bildanzeigen
Und das entsprechende „startup“ Skript:
on startup put $1 into einbild ## Sofern $1 der Pfad zum Bild ist, siehe oben... send "bildanzeigen einbild" to me in 30 ## 30 = 30 Ticks = eine halbe Sekunde, sollte reichen end startup
Bitte mal ausprobieren, Teil 2 kommt etwas später…
-
März 7, 2019 um 14:14 Uhr #13346
Und weiter geht’s…
2. Deine EXE ist bereits geöffnet
Hierzu gab es leider gar keine Infos, ich habe mir das zusammengeklaubt und denke, dann wird die Message „relaunch“ an Deine EXE gesendet.Auch mit den Umgebungsvarialben wie bei „startup“, allerdings in gänderter Reihenfolge. Daher bitte auch einmal ausprobieren:
on relaunch ## Wir lassen uns die Variablen anzeigen, immer gut, alles erst zu testen put "$0 = " & $0 & CR & "$1 = " & $1 & CR "$2 = " & $2 into fld "anzeige of cd 1 end relaunch
Wenn Du nun weißt, in welcher Variablen der Dateiname des bildes liegt, kannst Du wieder:
on relaunch put $1 into einbild ## Sofern $1 der Pfad zum Bild ist, siehe oben... send "bildanzeigen einbild" to me in 30 end relaunch
Bitte mal ausprobieren und berichten, viel Erfolg!
Gruß
Klaus
-
März 14, 2019 um 11:51 Uhr #13540
Hallo?
Kein Interesse an einer Lösung? -
März 15, 2019 um 18:37 Uhr #13563
Hallo Klaus.
habs ausprobiert, hat allerdings leider nicht wie gewünscht geklappt.Gruß,
Max
-
März 15, 2019 um 18:46 Uhr #13565
Die Beispiele sind aus dem Dictionary, sollten also weitgehend stimmen.
Was genau hast Du denn geskripted? Und was und wie getestet?
Bitte mal Deine Skripte hier posten, danke.
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.