Update von PC-Tools Firewall (Freeware-Version)

  • Hallo, liebe Autoitler *gg*,

    komme mit meiner Version des Updates von oben genannten Programm nicht weiter. Minimierte Programm-Gui, die mit Windows startet, schließt sich (ist so unmöglich nötig wegen verschiedener Betriebssysteme, auf denen das laufen soll und möglichst keiner Gefährdung während Abarbeitung), öffnet sich dann groß und ist per AutoIt Info-Tool ansprechbar. Allerdings unterscheiden sich die Infos über den Update-Button und ich drehe mich im Kreise ....

    Bitte um Info/Hilfe, was mache ich falsch bzw. wo liegt mein Denkfehler? Vielen lieben Dank im Voraus.

    LG
    Manne363.

    Und hier das bisher "gebastelte" (inkl. Info von Auto-It-Info-Tool):

    Spoiler anzeigen
    [autoit]

    ;ProcessClose("FirewallGui.exe")
    Opt("WinWaitDelay",100)
    Opt("WinDetectHiddenText",1)
    Opt("MouseCoordMode",0)

    [/autoit] [autoit][/autoit] [autoit]

    $PID = ProcessExists("FirewallGui.exe") ; Will return the PID or 0 if the process isn't found.
    If $PID Then ProcessClose($PID)
    If $PID="0" Then MsgBox(0,"Info","Prozess existiert nicht")

    [/autoit] [autoit][/autoit] [autoit]

    ;beides raus nur Info im Moment f.m. & oben anpassen !!!!!!
    MsgBox(0,"FirewallGui","PID war: "&$PID,3)
    if not ProcessExists("FirewallGui.exe") then MsgBox(0,"Info", "Prozess wurde geschlossen",3)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Run("M:\Program Files\PC Tools Firewall Plus\FirewallGUI.exe -s"); ;-s
    ;ShellExecute("FirewallGUI.exe","-s","M:\Program Files\PC Tools Firewall Plus\")

    [/autoit] [autoit][/autoit] [autoit]

    ShellExecute("FirewallGUI.exe","","M:\Program Files\PC Tools Firewall Plus\")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;WinWaitActive("PC Tools Firewall Plus","") ; passiert nach Start von PCT gar nix, nur Script fertig...
    ;WinWait("PC PC Tools Firewall Plus"); passiert nach Start von PCT nix mehr, auch Script wird nicht fertig
    _WinWaitActivate("PC Tools Firewall Plus","") ; geht ebenfalls nicht, PCT startet und Script macht finish...
    sleep(2000)

    [/autoit] [autoit][/autoit] [autoit]

    ControlClick("PC Tools Firewall Plus","","Button15","left"); gleiches Ergebnis mit [Class-Version] etc...
    ; anders aufrufen?!?!???

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; auf Button steht aber: Smart Update

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;==================== Funktionen ==========================================
    Func _WinWaitActivate($title,$text,$timeout=0)
    WinWait($title,$text,$timeout)
    If Not WinActive($title,$text) Then WinActivate($title,$text)
    WinWaitActive($title,$text,$timeout)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ;========== das sagt Info-Tool ============================================
    #cs
    >>>> Window <<<<
    Title: PC Tools Firewall Plus
    Class: #32770
    Position: 258, 63
    Size: 760, 507
    Style: 0x960F084C
    ExStyle: 0x00050101
    Handle: 0x00010156

    [/autoit] [autoit][/autoit] [autoit]

    >>>> Control <<<<
    Class: Button
    Instance: 15
    ClassnameNN: Button15
    Name:
    Advanced (Class): [CLASS:Button; INSTANCE:15]
    ID: 1244
    Text: Live Update
    Position: 555, 31
    Size: 106, 21
    ControlClick Coords: 71, 5
    Style: 0x5001400B
    ExStyle: 0x00000004
    Handle: 0x0001016E

    [/autoit] [autoit][/autoit] [autoit]

    >>>> Mouse <<<<
    Position: 884, 99
    Cursor ID: 0
    Color: 0x6B696B

    [/autoit] [autoit][/autoit] [autoit]

    >>>> StatusBar <<<<

    [/autoit] [autoit][/autoit] [autoit]

    >>>> ToolsBar <<<<

    [/autoit] [autoit][/autoit] [autoit]

    >>>> Visible Text <<<<
    Jetzt umsteigen
    Kostenlose Version,
    Application Blocking
    Advanced Rules
    Daten gesendet:
    Daten empfangen:
    Produktversion: 6.0.0.88
    111,896 Byte
    928,361 Byte
    On/Off
    Hier finden Sie detailliertere Angaben zum Datenverkehr
    Version ist aktuell
    Vor 3 Tagen zuletzt aktualisiert
    Applications
    status
    Advanced Rules
    Logs
    purchase
    Help
    Live Update
    settings
    Traffic Info

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    >>>> Hidden Text <<<<
    On/Off

    [/autoit] [autoit][/autoit] [autoit]

    Heading

    [/autoit] [autoit][/autoit] [autoit]

    #ce

    [/autoit]

    Einmal editiert, zuletzt von Manne363 (25. Dezember 2010 um 08:53)

  • Hallo ringsherum,
    und Allen eine schöne, ruhige Feiertage sowie ein gesundes, erfolgreiches Neues Jahr.

    Sowie ein riesiges Sorry für meine Zeitabstände der Reaktionsmöglichkeiten, geht aber (leider) nicht anders.

    So, nun aber zum eigentlichen:
    Der_Doc: Hallo, lieber Doc, ja, da habe ich mir wohl viel Mühe gegeben damals... *gg*.. Ok, brechen wir das Ganze mal runter bzw. ich versuche, das mal anders zu formulieren:

    Eigentlich will ich lediglich per Autoscript ein Update von PC Tools Firewall machen, mehr nicht. Komme aber nur soweit, das die Firewall-eigene GUI startet und dann war es das.... Trotz verschiedener Versuche.

    Das Autoit-Windows-Info-Tool liest den Update-Button zwar aus, aber ich bekomme es nicht hin, diesen anzusprechen. Auch steht beim der PC-ToolsFirewall-Gui "Smart Update" auf dem anzusprechenden Button, laut Auto-It-Windows-Info-Tool ist das aber "Live Update".... Wo ist mein Fehler? Bitte um Hilfe und vielen Dank im Voraus (Hoffe, diesmal etwas verständlicher zu sein...)

    Viele liebe Grüße an Alle

    Manne363

    Ach ja und hier noch mein Code:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    Opt("WinWaitDelay",100)
    Opt("WinDetectHiddenText",1)
    Opt("MouseCoordMode",0)
    Opt("WinTextMatchMode", 1)
    Opt("WinTitleMatchMode", 4)

    [/autoit] [autoit][/autoit] [autoit]

    ShellExecute("FirewallGUI.exe","","M:\Program Files\PC Tools Firewall Plus\"); geht
    #cs ;geht ebenfalls nicht...
    ;_WinWaitActivate("","PC Tools Firewall Plus");geht
    ;WinWaitNotActive("PC Tools Firewall Plus","PC Tools Firewall Plus")
    ;WinWait("PC Tools Firewall Plus")
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    WinWaitActive("PC Tools Firewall Plus")

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(500); msgbox kommt viel zu schnell???????
    msgbox(1,"Info","Ok",15); nur für mich zur Info, ob Script wartet

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;geht alles nicht.....
    #cs
    ControlClick("","PC Tools Firewall Plus", "[CLASS:Button; TEXT:Smart Update; INSTANCE:15]")
    ControlClick("PC Tools Firewall Plus", "Application Blocking", "[CLASS:Button; TEXT:Live Update; INSTANCE:15]", 1244)
    ControlClick("PC Tools Firewall Plus", "Application Blocking", "[CLASS:Button; TEXT:Live Update; INSTANCE:15]")
    ControlClick("PC Tools Firewall Plus", "Application Blocking", "[Button:15]")
    ControlClick("PC Tools Firewall Plus", "", "[Button:15]")
    ControlClick("PC Tools Firewall Plus", "", "[CLASS:Button; TEXT:Live Update; INSTANCE:15]")
    ControlClick("PC Tools Firewall Plus", "", "[CLASS:Button; TEXT:Live Update; INSTANCE:15]")", 1244)
    ControlClick("PC Tools Firewall Plus", "", "[Button:15]")
    ControlSend("","",1244)
    ControlClick("PC Tools Firewall Plus","","Button15","left"); gleiches Ergebnis mit [Class-Version] etc...
    ControlClick("PC Tools Firewall Plus", "", "[CLASS:Button; TEXT:Smart Update; INSTANCE:15]")
    ControlClick("","PC Tools Firewall Plus","[Button:15]")
    ; anders aufrufen?!?!???
    ; auf Button steht aber: Smart Update?!??
    #ce
    ;das "Application Blocking", kommt aus einem Test mit AU3Record...

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;_WinWaitActivate("Smart Update","Abbrechen",300) ; sollte gehen, wenn ich bis dahin KÄME...

    [/autoit] [autoit][/autoit] [autoit]

    ;==================== Funktionen ==========================================
    Func _WinWaitActivate($title,$text,$timeout=0)
    WinWait($title,$text,$timeout)
    If Not WinActive($title,$text) Then WinActivate($title,$text)
    WinWaitActive($title,$text,$timeout)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ;========== das sagt Info-Tool ============================================
    #cs
    >>>> Window <<<<
    Title: PC Tools Firewall Plus
    Class: #32770
    Position: 258, 63
    Size: 760, 507
    Style: 0x960F084C
    ExStyle: 0x00050101
    Handle: 0x00010156

    [/autoit] [autoit][/autoit] [autoit]

    >>>> Control <<<<
    Class: Button
    Instance: 15
    ClassnameNN: Button15
    Name:
    Advanced (Class): [CLASS:Button; INSTANCE:15]
    ID: 1244
    Text: Live Update
    Position: 555, 31
    Size: 106, 21
    ControlClick Coords: 71, 5
    Style: 0x5001400B
    ExStyle: 0x00000004
    Handle: 0x0001016E

    [/autoit] [autoit][/autoit] [autoit]

    >>>> Mouse <<<<
    Position: 884, 99
    Cursor ID: 0
    Color: 0x6B696B

    [/autoit] [autoit][/autoit] [autoit]

    >>>> StatusBar <<<<

    [/autoit] [autoit][/autoit] [autoit]

    >>>> ToolsBar <<<<

    [/autoit] [autoit][/autoit] [autoit]

    >>>> Visible Text <<<<
    Jetzt umsteigen
    Kostenlose Version,
    Application Blocking
    Advanced Rules
    Daten gesendet:
    Daten empfangen:
    Produktversion: 6.0.0.88
    111,896 Byte
    928,361 Byte
    On/Off
    Hier finden Sie detailliertere Angaben zum Datenverkehr
    Version ist aktuell
    Vor 3 Tagen zuletzt aktualisiert
    Applications
    status
    Advanced Rules
    Logs
    purchase
    Help
    Live Update
    settings
    Traffic Info

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    >>>> Hidden Text <<<<
    On/Off

    [/autoit] [autoit][/autoit] [autoit]

    Heading

    [/autoit] [autoit][/autoit] [autoit]

    #ce

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Ich schätze mal die Firewall hat was dagegen das man sie automatisiert (soll ja auch so sein). Also ich schätze du wirst da mit ControlClick usw. nicht weit kommen. Hatte das selbe Problem auch schon häufig.

  • Hallo, liebe Auto-Itler, hallo Molaynox,

    habe es gestern doch noch heraus bekommen... ; die richtige Anweisung ist
    ControlClick("PC Tools Firewall Plus","Live Update",1244). Jetzt geht es, so wie ich es mir gedacht habe, auch wenn man das bestimmt noch schöner programmieren könnte. Aber für meine Zwecke ist das ok.

    Vielen Dank an Alle & schöne Feiertage.

    Manne363.


    Und hier noch der funktionierende Code:

    Spoiler anzeigen
    [autoit]


    Opt("WinWaitDelay",100)
    Opt("WinDetectHiddenText",1)
    Opt("MouseCoordMode",0)
    Opt("WinTextMatchMode", 1)
    Opt("WinTitleMatchMode", 4)

    [/autoit] [autoit][/autoit] [autoit]

    ShellExecute("FirewallGUI.exe","","M:\Program Files\PC Tools Firewall Plus\"); geht
    WinWaitActive("PC Tools Firewall Plus")
    Sleep(500)
    ControlClick("PC Tools Firewall Plus","Live Update",1244)
    WinWaitActive("Smart Update")
    ;msgbox(1,"Info","Ok",10); nur für mich zur Info, ob Script wartet

    [/autoit] [autoit][/autoit] [autoit]

    do
    $x=ControlCommand("Smart Update","Abbrechen","TJvWizardCancelButton1", "IsEnabled", "")
    until $x=0

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(150)
    ;$xxx=WinGetText("Smart Update","") ;ist immer 0...
    ;$xxx=WinGetText("Smart Update","[CLASS:Static; INSTANCE:21]") ;ebenfalls immer 0
    ;$xxx=WinGetText("Smart Update","") ;zeigt lesbaren und versteckten Text an (wie AutoitInfoTool)
    ;msgbox(1,"Info",$xxx,40) ;nur für mich zur Info

    [/autoit] [autoit][/autoit] [autoit]

    send("!B") ;beendet Smart Update

    [/autoit] [autoit][/autoit] [autoit]

    ;$xx=ControlGetText("PC Tools Firewall Plus","","Static21")
    ;MsgBox(1,"Version",$xx )
    ;MsgBox(1,"Last Update", ControlGetText("PC Tools Firewall Plus","","Static21"))
    ;MsgBox(1,"Last UpdateV2", ControlGetText("PC Tools Firewall Plus","","32770"))
    ;Info unter M:\Program Files\PC Tools Firewall Plus\FirewallWrapper.txt ??

    [/autoit] [autoit][/autoit] [autoit]

    sleep(300)
    ProcessClose("FirewallGUI.exe")

    [/autoit]