Vbs in exist - wenn ein Fenster existiert dann
Hi Leute...
Ich versuch auf vbs zu realisieren, sobald ein Fenster (Programm was zuvor gestartet wird) existiert, dass eine Anweisung folgt.
Wie bekomme ich das hin ?
Ifexist „Notepad“
then sendkey „abc“
Else loop von vorne (10 mal)
Geht das ?
Es kommt mir vor allem auf das if exist an.
Liebe Grüße
Ich versuch auf vbs zu realisieren, sobald ein Fenster (Programm was zuvor gestartet wird) existiert, dass eine Anweisung folgt.
Wie bekomme ich das hin ?
Ifexist „Notepad“
then sendkey „abc“
Else loop von vorne (10 mal)
Geht das ?
Es kommt mir vor allem auf das if exist an.
Liebe Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 369818
Url: https://administrator.de/contentid/369818
Ausgedruckt am: 25.11.2024 um 16:11 Uhr
2 Kommentare
Neuester Kommentar
Damit kannst du schon mal auf einen Process warten:
WaitForProcess "notepad.exe", "100"
Function WaitForProcess(ByVal Process, secondsToWait)
Dim startTime : startTime = Timer()
Dim endTime : endTime = startTime + CInt(secondsToWait)
Dim objItem, PidStatus : PidStatus = 1
On Error Resume Next
Do While PidStatus <> 0
Dim caption : caption = ""
startTime = Timer()
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Process where name ='" & Process & "'",,48)
For Each objItem in colItems
If UCase(Process) = UCase(objItem.Name) Then
Exit Function
End If
Next
varNow = Now
While DateDiff("s", varNow, Now) < 1
Wend
WScript.Echo "running..."
If startTime > endTime Then
varNow = Now
While DateDiff("s", varNow, Now) < 3
Wend
Exit Function
End if
Loop
End Function
Für SendKeys müsstest du vorher den Focus auf diese App setzen. Das funktioniert aber eher selten. Außerdem: Sobald eine andere App aktiviert wird (durch Klick darauf) hat diese den Focus. Sehr buggy.