firefox extension / xul

  • hallo,

    ich wollte mir eine firefox erweiterung machen, die daten an ein externes programm liefert und dessen output wieder dem firefox zurückgibt.

    dass ich ein externen programm ausführen kann hab ich das versucht:

    Code
    var str_LocalProgram = "c:\\blabla.exe";
    var obj_Program = new FileFactory(str_LocalProgram);
    var obj_Process = Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess);
    obj_Process.init(obj_Program);
    obj_Process.run(true, null, 0);

    das programm wird ausgeführt, nur weiß ich nicht wie ich zum output komme. gibts vllt eine möglichkeit den stdout einzulesen?

    anleitung hab ich von hier http://www.xulplanet.com/references/xpc…nsIProcess.html bzw vom googln, aber da hab ich bis jetzt auch nix genaueres gefunden.

    bin für jede hilfe dankbar.

  • Falls der Output auf stdout geschrieben wird könntest du ihn dir in eine Datei umleiten lassen.
    Hast du den Source des Programms, welches du aufrufst?
    Wenn ja, könntest du daraus eine XPCOM Komponente machen, ein (scriptable) Interface definieren und dieses direkt aus JS aufrufen.

    lg ph

  • Zitat von phax

    Falls der Output auf stdout geschrieben wird könntest du ihn dir in eine Datei umleiten lassen.
    Hast du den Source des Programms, welches du aufrufst?
    Wenn ja, könntest du daraus eine XPCOM Komponente machen, ein (scriptable) Interface definieren und dieses direkt aus JS aufrufen.

    lg ph

    nein hab den source leider nicht... ok, werds aber mal mit an temp-file probieren...
    danke

  • habs leider nicht geschaft den output umzuleiten, bzw bin ich auf ein anderes problem gestoßen...

    mein plan war eine GnuPG extension fürn ff zu schreiben, aber es scheint nicht ganz zu funktionieren - weil zb beim gpg anscheinend nicht geht das passwort beim entschlüsseln nicht per prameter zu übergeben.

    naja vllt find ich nochmal eine andere lösung.

  • Zitat von phax

    Es gibt eine existierende Extension namens enigmail welche GnuPG wrappt.
    Vieleicht hilft Dir das.
    Zu finden unter
    http://enigmail.mozdev.org/
    lg ph

    kenn ich, leider funkt das nur mit thunderbird! das hab ich eh in verwendung, nur ich wollte das ganze "web-client" fähig machen (zb. gmail / gmx / ...)

  • Dann entzippe doch die .XPI und die enthaltenen .JAR Dateien und schau nach wie die das dort machen - wäre doch ein Ansatzpunkt, oder?

  • Zitat von seHaas

    habs leider nicht geschaft den output umzuleiten, bzw bin ich auf ein anderes problem gestoßen...
    weil zb beim gpg anscheinend nicht geht das passwort beim entschlüsseln nicht per prameter zu übergeben.

    Enigmail löst das alles mittels Pipetransport: Components.classes['@mozilla.org/process/pipe-transport;1']

    Diese Funktion wird dich interessieren:
    Enigmail.prototype.execStart

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!