Hallo, liebe AutoIt-Gemeinde,
heute nur mal ein winziges Problem (für die Profis), bei dem ich aber der Lösung kein Stück näher komme. Ganz vereinfacht soll ein Update von MBAM (http://www.malwarebytes.org/mbam.php) durchgeführt werden, allerdings so, das man es auch sieht und die Auswertung liest. Klappt relativ gut, nur mein Problem ist die Meldung von MBAM, die entweder lautet, das die Datenbank aktualisiert wurde oder das man bereits die aktuellste Datenbank verwendet. Und hier weiß ich momentan nicht, wie ich es abfrage, das beide Meldungen erscheinen können. (Version mit "or" Zeile 17 geht so nicht...). Bekomme es nur, das es bei einer klappt und der anderen wartet Programm ewig - logisch, da ja entsprechende Meldung nicht auftaucht.... Hatte ursprünglich nur die Winwait-Befehle genommen, aber da die Update-Zeitdauer verschieden ist, dachte ich, es geht mit der Progressbar-Abfrage besser (falls die richtig ist....). Bitte also um einen Gedankenanstoß, das auslesen per Autoit-Info-Tool hat mir auch noch keine Geistesblitze beschert, leider.....
Hier noch das Script (inkl. Auto-It-Infotool-Daten):
Spoiler anzeigen
#include <ProgressConstants.au3>
#include <SendMessage.au3>
$ProgressHandle = ControlGetHandle("Fenstertitel","","msctls_progress321") ; Handle zur 1. Progressbar des Fensters "Fenstertitel" holen
$progressbarPOS = _SendMessage($ProgressHandle,$PBM_GETPOS)
$Mbam="""M:\Program Files\Malwarebytes' Anti-Malware\mbam.exe"" /UPDATE"
[/autoit] [autoit][/autoit] [autoit]Run($Mbam)
WinWaitActive("Malwarebytes' Anti-Malware Aktualisierung","")
$ProgressHandle = ControlGetHandle("Malwarebytes' Anti-Malware Aktualisierung","","msctls_progress321") ; Handle zur 1. Progressbar des Fensters "Fenstertitel" holen
$progressbarPOS = _SendMessage($ProgressHandle,$PBM_GETPOS)
Do
MsgBox(1,"Info",$progressbarPOS,5);=1 = am Ende?
Until $progressbarPOS="1"
;WinWait("Malwarebytes' Anti-Malware","Die Datenbank") Or WinWait("Malwarebytes' Anti-Malware","Die Datenbank")
[/autoit] [autoit][/autoit] [autoit]$MbamInfo=ControlGetText("Malwarebytes' Anti-Malware","","[CLASS:Static; INSTANCE:2]")
ControlClick("Malwarebytes' Anti-Malware","","[CLASS:Button; INSTANCE:1]")
msgbox(1,"Info",$MbamInfo,10)
exit
#cs
>>>> Window <<<< msgbox update ok
Title: Malwarebytes' Anti-Malware
Class: #32770
Position: 378, 123
Size: 461, 119
Style: 0x94C801C5
ExStyle: 0x00010101
Handle: 0x000D05A2
>>>> Control <<<<
Class: Static
Instance: 2
ClassnameNN: Static2
Name:
Advanced (Class): [CLASS:Static; INSTANCE:2]
ID: 65535
Text: Die Datenbank wurde erfolgreich von Version 5462 auf Version 5703 aktualisiert.
Position: 62, 20
Size: 387, 15
ControlClick Coords: 149, 9
Style: 0x50022080
ExStyle: 0x00000004
Handle: 0x001E05E0
>>>> Mouse <<<<
Position: 592, 174
Cursor ID: 0
Color: 0xD4D0C8
? EIgentliches Aktualisierungsding:
>>>> Window <<<<
Title: Malwarebytes' Anti-Malware Aktualisierung
Class: ThunderRT6FormDC
Position: 478, 289
Size: 324, 222
Style: 0x1EC80000
ExStyle: 0x00000100
Handle: 0x000607B2
event.
>>>> Window <<<<
Title: Malwarebytes' Anti-Malware Aktualisierung
Class: ThunderRT6FormDC
Position: 478, 289
Size: 324, 222
Style: 0x1EC80000
ExStyle: 0x00000100
Handle: 0x000607B2
>>>> Control <<<<
Class: ThunderRT6PictureBoxDC
Instance: 1
ClassnameNN: ThunderRT6PictureBoxDC1
Name:
Advanced (Class): [CLASS:ThunderRT6PictureBoxDC; INSTANCE:1]
=Lade herunter: 5,88 MB [100%].
wenn Verbinde mit dem Server und msgbox Sie verwenden die aktuelle Datenbankversion - dann eben erst aktualisiert...
#ce
Wie immer danke im Voraus und allen ein schönes WE!
Manne363.