Hallo,
ich hab’ mal etwas gebastelt.
Erst mal der Quellcode, das ist nicht viel.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM\_CLOSE = &H10
Private Sub Command1\_Click()
If Trim(Text1.Text) "" Then
If Option1(0).Value = True Then Timer1.Interval = 100
If Option1(1).Value = True Then Timer1.Interval = 1000
If Option1(2).Value = True Then Timer1.Interval = 10000
If Option1(3).Value = True Then Timer1.Interval = 60000
Timer1.Enabled = True
Else
MsgBox "Bitte den Titel des gesuchten Fensters eingeben "
End If
End Sub
Private Sub Command2\_Click()
Timer1.Enabled = False
End Sub
Private Sub Timer1\_Timer()
Dim WinWnd As Long, Fenster As String, RetVal As Long, lpClassName As String
Fenster = Trim(Text1.Text)
WinWnd = FindWindow(vbNullString, Fenster)
If WinWnd 0 Then
PostMessage WinWnd, WM\_CLOSE, 0&, 0&
End If
End Sub
Ich hab’s verpackt, liegt als Installationspaket bereit.
http://www.win-home.de/Autoklick.zip
Wenn es Dir nicht gefällt oder Du es nicht mehr brauchst, lässt es sich auch einfach mit der Windows-Funktion wieder deinstallieren.
Nach der Installation das Programm einfach mit ‚Start -> Programme -> Autiklick -> Autoklick‘ starten.
Dann in das beschriftete Textfeld den Titel der gesuchten Messagebox eintippen, den Interval eingeben, wie oft das Fenster gesucht werden soll (längere Intervalle entlasten den Prozessor) und auf Start klicken.
Zum Beenden erst auf Stopp klicken und dann das Fenster schließen.
Mit VBA kenne ich mich nicht gut genug aus, wenn Du eine VBA-Lösung vorziehst, müsste Reinhard den Code nach VBA umschreiben. [Ball zurück]
Reicht das so? Fragen, Wünsche …?
Gruß Rainer