Abfangen der Windows Script Host Message
-
Moin Leute
Ich wollte einmal Nachfragen ob es eine Möglichkeit gibt die Meldung dem Windows Script Host Fenster abzufangen und statt indem Windows Fenster in ein TMemo feld einzutragen .
ShellExecute(0, L"open", L"\\Windows\\System32\\slmgr.vbs", L"/ato", 0, SW_NORMAL);
Damit starte ich den Windows Script Host aber bekomme leider die Meldung im Fenster angezeigt für die Aktivierung.
MFG
-
@JohnConstantine
Ich verstehe deine Frage nicht ganz. Möchtest du die Console-Ausgabe des Scripts in ein eigenes Fenster umleiten?Aber mal von einer anderen Seite gefragt: Musst du unbedingt das Skript aufrufen oder kannst du es nicht direkt in C++ schreiben? Viele Skripte basieren auf COM und COM kann man auch aus C++ aufrufen.
-
@JohnConstantine sagte in Abfangen der Windows Script Host Message:
Ich wollte einmal Nachfragen ob es eine Möglichkeit gibt die Meldung dem Windows Script Host Fenster abzufangen und statt indem Windows Fenster in ein TMemo feld einzutragen .
Möglichkeiten gibts so gut wie immer.
Aber vermutlich nicht mit vertretbarem Aufwand. Du kannst mit IActiveScript usw. selber eine Umgebung aufsetzen, um das Script auszuführen. Ob das klappt, grad in dem Fall, weiß ich schon mal nicht. Wenn das klappt, kannst du eigene COM Objekte im Namespace des Scripts registrieren. Ob man es schafft, msgbox zu überschreiben, und ob man das darf usw., weiß ich auch nicht. Das müsste man alles austüfteln, vermutlich nicht ganz trivial.
Wenn das alles nicht klappt, du das Script aber zumindest im eigenen Prozess hostest/ausführst, kannst du auf jeden Fall über API Hooking die entsprechenden Funktionen umleiten. Auf jeden Fall auch nicht trivial.
-
Ja ich wollte die Ausgabe wiedergeben in einen Memofeld in meinen Program also von Fenster umleiten in das TMemo.
LG
-
@JohnConstantine
Hmm, aus deinem Aufruf heraus folgere ich dass du Windows aktivieren möchtest. Ich habe ein wenig gestöbert und folgende Seite gefunden:https://stackoverflow.com/questions/53484359/is-there-an-c-winapi-equivalent-to-slmgr-vbs-skms
Ich bin mir aber nicht sicher ob dir das weiterhilft. Die Alternative fände ich aber auch nicht prickelnd.