Ich möchte prüfen, ob ein Fenster mit Wildcard in Vbscript geöffnet ist. Ich konnte den folgenden Code finden:Vbscript, um zu prüfen, ob ein Fenster mit Wildcard geöffnet ist
Set oShell = CreateObject("WScript.Shell")
If oShell.AppActivate("Untitled - Notepad") Then
WScript.Sleep 500
End If
Aber ich möchte einen Platzhalter auf dem Fenstertitel verwenden. Ich habe versucht mit * und%, aber es funktioniert nicht. Jede Hilfe wird geschätzt.
If oShell.AppActivate("*Notepad*") Then
Updates Jungs .. Ich konnte eine Lösung finden, aber es ist immer noch offen, wenn jemand das vereinfachen kann. Vielen Dank.
Set Word = CreateObject("Word.Application")
Set Tasks = Word.Tasks
isFound = False
For i = 1 to 5
For Each Task in Tasks
checkVal = 0
If Task.Visible Then
checkVal = inStr(UCase(Task.name), UCase("outlook"))
If checkVal <> 0 Then
isFound = True
Exit For
End If
End If
Next
If isFound = True Then
Exit For
End If
WScript.Sleep 1000
Next
Word.Quit
msgbox ("Is the Window Found? - " & isFound)
Dies wäre keine nativ installierte Bibliothek, die Sie verwenden könnten, um dies zu erhalten. Es gibt einige Bibliotheken/Wrapper, die Ihnen dies ermöglichen, aber Sie können dies nicht aus RAW VBScript erreichen, ohne eine zusätzliche Bibliothek zu erhalten/zu codieren. Sie könnten versuchen, TASKLIST mit einer Shell zu verwenden, führen Sie eine Stout-Erfassung mit etwas wie Tasklist/v | aus find/i "Suchzeichenkette hier" –
Zusätzlich ... können Sie eine Regex verwenden, um das Fenstertitelfeld von dieser Tasklistenausgabe zu erfassen. (?:. *) (?: \ d: \ d \ d: \ d \ d \ s) (. *) –
Hallo Steve - ich habe versucht, eine Lösung mit RegEx zu finden, aber zum Glück konnte ich eine Lösung finden i habe meine Frage oben schon aktualisiert. Übrigens, was ich tue, bekomme ich alle Namen auf der Aufgabenliste und Schleife darauf, um die Zeichenfolge zu finden, die ich mit der Funktion inStr suchen. –