Text an verstecktes Fenster senden
Hi,
hab ein kleines VBScript geschrieben um ein befehl im Windows CMD als Admin ausführen zu können ohne das pw eintippen zu müssen.
Code:
Dim objhell
Set objShell = CreateObject ("WScript.Shell")
objShell.Run ("runas /savecred /user:PC666\Administrator cmd")
WScript.Sleep 20
objShell.SendKeys "pw~"
WScript.Quit
Funktioniert auch einwandfrei. Das Problem ist aber, dass immernoch ein cmd fenster kurz aufflackert.
Wenn ich es per
Code:
objShell.Run "runas /savecred /user:PC666\Administrator cmd", 0
verstecke kann ich mit der sendkey funktion kein text mehr hinein senden.
Meine Frage, wie kann ich an ein verstecktes Fenster Text senden?
AW: Text an verstecktes Fenster senden
Klar.., SendKeys bedient nur das Fenster das im Fokus ist.
Man solltest auf jeden Fall auf eine WinAPI zurück greifen wenn das Fenster nicht sichtbar(0) ist. Beispielsweise: FindWindow
Ich weiß nicht mehr genau wie es war, aber so, oder so ähnlich kann man Prozesse anhand des Namens finden
Code:
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process where name = ~'cmd.exe~'")
Nur stehst du dann wieder vor dem Problem das du zwar den Prozesse hast aber SendMessage nicht einfach so aus WSH ansprechen kannst.
Wenn du das auch noch in VB Script umsetzen willst hast du keine schönes Zeit.
Greif doch lieber zu etwas komfortablerem. Powershell oder eben gleich zu eine .net Sprache.
Und wenn nichts am VBS vorbei geht würde ich die API Calls halt in eine DLL verpacken, dann klappts auch mit der Nachbarin - äh mit dem VBS.