VBScript in C++-Quellcode einbinden



  • Hi!

    Weiss jemand, ob und wie es möglich ist, ein in VBS erstelltes Skript in einen C++-Quellcode so einzubinden, dass von dort das Skript gestartet wird? Das Skript muss keine Parameter an den C++-Code übergeben sondern agiert als selbständiges Programm. Das C++-Programm ist mit Beenden des Skripts ebenfalls beendet.

    Besten Dank, Die Napfschnecke 🤡



  • Wenns ne ActiveX-DLL ist kannst du es als Typbibliothek einbinden, dazu muss es aber der Registry registriert sein.



  • Kann man so ein Script nicht auch per Kommandozeile starten? 😕
    Dann ginge das mit WinExec.



  • kA. Wenn das Script als Dateiendung mit einer Standardverknüpfung in Windows versehen ist, könnte das klappen. Muss er halt mal testen und interessehalber das Erbgebnis hier posten 🙂



  • Es sollte möglich sein, mit ShellExecute die .vbs-Datei direkt zu starten. Man kann auch mit COM eine Instanz der VBScript-Engine erstellen und das Skript darin ausführen. Das hat den Vorteil, dass man Skriptfehler abfangen kann.

    estartu_de: Von WinExec würde ich abraten, das wird nur aus Gründen der Abwärtskompatibilität überhaupt noch unterstütz.



  • MFK schrieb:

    estartu_de: Von WinExec würde ich abraten, das wird nur aus Gründen der Abwärtskompatibilität überhaupt noch unterstütz.

    Oh, dann sollte ich mir das mal merken. 🙄
    ShellExecute ist das neue?

    CreateProcess finde ich nämlich so kompliziert. Das ist so viel zu schreiben.



  • estartu_de schrieb:

    ShellExecute ist das neue?

    Nein, eigentlich CreateProcess ist das neue. ShellExecute (bzw. ShellExecuteEx) kann viel mehr, aber AFAIK kann man damit z.B. nicht die Standardein- und -ausgabehandles umleiten. Das geht nur mit CreateProcess.


Anmelden zum Antworten