Externe Programme über MenuBar-Komponente starten

T

Trouble Shooter

Externe Programme über MenuBar-Komponente starten (brauche Hilfe - Bitte, bitte)

Hallo,

ich bin absoluter Flash-Anfänger.

Mein Problem ist folgendes:
Ich versuche derzeit über eine MenuBar-Komponente einige auf meinem Rechner installierte Programme zu starten (z.B. Word, Excel, Access, usw.), allerdings finde ich nicht den richtigen ActionScript-Befehl mit dem ich eine externe Anwendung starten kann.

Die Seite soll meine derzeitige Hintergrundgrafik ersetzen und mir einen komfortableren Zugriff auf meine häufig verwendeten Programme geben (also anstatt der Start-Leiste und der Verknüpfungen auf meinem Desktop). Außerdem wird dann mein Hintergrundbild nicht mehr von zig verschiedenen Verknüpfungen verdeckt.

Würde mich freuen wenn sich jemand meines Problems annehmen könnte.

Ein kleiner Auszug aus meinem bisherigen Code:

Code:
var menu :mx.controls.Menu;

// Office
menu = MenuBarDesktop.getMenuAt(1);
menu.addMenuItem({label:"Word" ,instanceName:"Office_Word"});
menu.addMenuItem({label:"Excel" ,instanceName:"Office_Excel"});
menu.addMenuItem({label:"FrontPage" ,instanceName:"Office_FrontPage"});
menu.addMenuItem({label:"Access" ,instanceName:"Office_Access"});
menu.addMenuItem({label:"Outlook" ,instanceName:"Office_Outlook"});
menu.addMenuItem({label:"Adobe Reader" ,instanceName:"Office_AdobeReader"});

...

// Office
var lauscher = newObject();
lauscher.change = function(evt)
{
var menu = evt.menu;
var item = evt.menuItem;

switch(item)
{
case menu.Office_Word: trace("Word"); <--> trace("") soll nun gegen den Befehl getauscht werden der das entsprechende Programm startet
break;
case menu.Office_Excel: trace("Excel");
break;
case menu.Office_FrontPage: trace("FrontPage");
break;
case menu.Office_Access: trace("Access");
break;
case menu.Office_Outlook: trace("Outlook");
break;
case menu.Office_AdobeReader: trace("Adobe Reader");
break;

Vielen Dank schon mal im voraus
Trouble Shooter
 
Zuletzt bearbeitet von einem Moderator:
Hey,

die Idee finde ich genial. Hier wäre der Befehl: fscommand("exec","meineDatei.exe");

Dazu muss ein Verzeichnis fscommand in dem Verzeichnis liegen, indem sich auch dein Projektorfile befindet. Flash sucht aus Sicherheitsgründen nur dort nach ausführbaren Dateien. Das Verzeichnis darf im Command aber nicht angegeben werden. Leider.

Deswegen glaub ich nicht dass das gehen wird. Sorry.


Liebe Grüße udn noch viel Erfolg,
Jens.
 
Wie bereits gesagt bin ich nicht sonderlich geübt was Flash angeht.

Soll das heißen, das

1. die Dateien zum starten des Programms im Verzeichnis fscommand liegen müssen

2. die Projekt-Datei im gleichen Verzeichnis liegen muss wie das Verzeichnis fscommand

und ich dann nur

3. z.B. fscommand("exec","Word.exe"); aufrufen muss um das Programm zu starten?

Danke schon mal für den Tipp, bin (auch wenn du der Meinung bist das es nicht funktioniert) bereits am Testen.
 
Hi,

Deine Annahmen sind soweit korrekt. Anwendungen sollten also ins Unterverzeichnis "fscommand" installiert bzw. kopiert (bei größeren Anwendungen wird das nicht klappen) werden.

Alternativ kannst Du mit diversen Middleware-Lösungen aus Flashfilmen ausführbare Dateien machen, die weitreichendere Rechte im Clientsystem haben. Ich verwende z.B. mdm ZINC.

Gruß
.
 
Ich habe jetzt noch ein weiteres Problem mit der Ereignisbehandlung der MenuBar-Komponente.
Diese scheint entweder wegen falschem ActionScript-Code oder falscher Platzierung nichts zu tun.

Ich habe mal den gesamten Code als txt-Datei angehängt. Der gesamte Code steht im ersten Bild der Ebene ActionScript.
(Insgesamt habe ich zur Zeit nur 2 Ebenen eingerichtet in der darunterliegenden Ebene Menü befindet sich nur die MenuBar-Komponente -- Dies scheint mir zum Testen am vernünftigsten )
Der Instanzname der MenuBar lautet "MenuBarDesktop".

Bin für jede Hilfe dankbar

Trouble Shooter

Edit:
Der Fehler war folgender:
newObject --> musste heißen new Object
Einen herzlichen Dank dafür an Tobias Menzel.

PS.
Was das Programm MDM ZINC betrifft, ich bekomme dabei Warnungen meines AntiViren Programms, da die Setup-Datei ein Hacking-Tool zu installieren versucht.
 

Anhänge

  • ActionScript.txt
    5,7 KB · Aufrufe: 59
Zuletzt bearbeitet von einem Moderator:
So, nachdem die MenuBar-Komponente nun vollständig funktioniert zurück zum eigentlichen Thema.

Ich schaffe es nicht mithilfe von
fscommand("exec","Programm das aufgerufen werden soll");
ein Programm zu starten.

Wie mir bereits gesagt wurde habe ich..
die .fla und .swf-Dateien + fscommand-Verzeichnis im selben Ordner angelegt.
ein Programm das aus nur einer Datei besteht in den Ordner fscommand kopiert.

Jetzt versuche ich das Programm über die MenuBar zu starten, aber nichts passiert.

Was nun

Jens B. meinte ja bereits das es so wie ich mir das vorstelle nicht gehen wird, aber es sollten doch möglich sein das eine oder andere Prog zu starten.
 
Hi,

es funktioniert nur, wenn die Flashdatei als Projektor-exe kompiliert ist. SWF-Filme, die in html-Seiten eingebettet sind, können keine Anwendungen öffnen.

Gruß
.
 
Das ist ja schon mal gut zu wissen,
leider kann ich trotzdem keine Anwendung starten.

Was hab ich den noch falsch gemacht oder nicht beachtet?
Kann ich nur andere Projector-Files starten oder auch "normale" .exe Dateien?
Gibt es noch andere Möglichkeiten eine Anwendung über Flash zu starten?

Oder wie könnte ich folgende Variante umsetzen (falls die bisherige unmöglich für mich erscheint):
Ich hatte mir schon überlegt einfach eine Variable an ein selbst geschriebenes C++-Programm zu übergeben und dann mithilfe dieses Programms die Auswertung welche Anwendung zu starten ist vorzunehmen. Und anschließend dieses mittels des C++-Programms auch zu öffnen.

Wär diese Variante besser umsetzbar? Bzw. ist diese durchführbar?
Wenn ja, wie übergebe ich die Variable an ein C++-Programm?

Gruß
Trouble Shooter


PS.
Ich hätte gerne als Endversion eine HTML-Seite und keine .exe-Datei, da sich ausschließlich HTML-Seiten als Windows-Hintergrund einbetten lassen.
(Na gut, ich habe auch ein Programm mit dem sich SWF-Dateien als Hintergrund-"Bild" in Windows einfügen lassen gefunden)
 
Hi,

eigentlich solltest Du alle Anwendungen starten können. Wichtig ist nur, dass es sich bei Deinem Flashfilm um eine Projektor.exe handelt.

Ich könnte Dir anbieten, Deine SWF mit ZINC in eine Anwendungen umzuwandeln, die die installierten Anwendungen direkt startet - allerdings wirst Du auch so eine .exe nicht in eine html-Seite einbetten können ...

Gruß
.
 
Ich habe gerade ein nettes Freeware-Tool gefunden mit dem sich die Funktionalität steuern lässt.
Das Tool arbeitet mit dem fscommand("exec","...") Befehl und funktioniert damit leider auch nur wenn das Projekt als Projector-File (also *.exe) erstellt wird.

Beschreibung:
Neben dem Öffnen von Dateien kann das Tool ebenfalls den eMail-Client sowie im Browser Internet-URLs öffnen. Außerdem ermöglicht eine Druckfunktion Dateien (PDF, DOC, TXT, INI,...) sofort an den Standard-Drucker zu senden.
Sollte sich einer der Pfade einmal ändern oder ein anderes Programm gestartet werden, braucht nur die .ini Datei geändert werden. das erneute erstellen des Projekt-Files ist nicht mehr nötig.

Freeware für Privat und Kommerzielle Zwecke (Nutzungsbedingungen liegen bei).

Gefunden hier:
http://www.flashforum.de/forum/showthread.php?t=106162

Trouble Shooter
 

Anhänge

  • unilauncher.v1_1.zip
    30,2 KB · Aufrufe: 52
Zurück