1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. AutoITBengel

Beiträge von AutoITBengel

  • Text in League of Legends zeichnen

    • AutoITBengel
    • 23. Februar 2017 um 19:22

    ok dachte ich mir schon. Passt, hab sowieso kein bock mir den kram mit Process hooks anzuschauen. Danke

  • Text in League of Legends zeichnen

    • AutoITBengel
    • 23. Februar 2017 um 18:13

    Hi,
    leider kenne ich nicht die passenden Stichworte für dieses Vorhaben, aber was ich suche, ist ähnlich wie das, was manche Monitoring Tools machen, die die Temperatur im oben Rand des Desktops anzeigen, während man in einem Spiel ist. Soweit ich weiß, ist das nicht so einfach oder?

    Also ich möchte einen Text auf dem "Desktop" zeichnen, den man auch sehen kann, wenn ich in LoL drin bin, möglich?

  • Autoit Objekte

    • AutoITBengel
    • 6. August 2016 um 04:05

    Beides wirklich super Antworten. Danke jungs ^^

  • Autoit Objekte

    • AutoITBengel
    • 4. August 2016 um 01:11

    Hi,
    ich arbeite häufiger mit Objekten und dabei ist mir immer das selbe Problem aufgefallen: Welche Methoden gibt es? Beispielsweise bei der System.Collections.ArrayList... Ist ja nichts neues, dass nur ein Bruchteil der Methoden funktionieren/implementiert wurden, wieso auch immer. Wenn man sich die offizielle msdn doku dazu anschaut wird schnell kla, das viele nützliche Methoden fehlen. Kann man eine Liste der verfügbaren Methoden ausgeben?

    Wäre schön, wenn sowas mal funktionieren würde:

    Code
    $AList = ObjCreate("System.Collections.ArrayList")
    ;////Einträge hinzufügen///////////
    $AList.add ("Test1")
    $AList.add ("Test6")
    $AList.add ("Test4")
    $AList.add ("Test2")
    $AList.add ("Test3")
    $AList.add ("Test5")
    
    
    
    
    ConsoleWrite("indexof: " & $AList.indexof("Test1") & @CRLF)
    Alles anzeigen
  • Zugriff auf TreeView Control von regedit.exe, wenn regedit bereits geöffnet ist

    • AutoITBengel
    • 8. April 2016 um 01:59

    Hey,
    ich bastel an einer "Jump To" Registry Schlüssel Funktion...ich leg einen Schlüssel fest und regedit wird mit angegebenen Schlüssel geöffnet. Einziges Problem: ich starte aktuell die regedit.exe im skript, was auch funktioniert, aber jeder Versuch auf die TreeView items zuzugreifen, wenn regedit bereits geöffnet ist schläft fehl.

    C
    #include <GUIConstants.au3>
    #include <GuiTreeView.au3>
    #include <TreeViewConstants.au3>
    #include <SendMessage.au3>
    #include <WinAPI.au3>
    
    
    
    
    Global $h_item
    
    
    ShellExecute("regedit.exe")
    ;~ Local $pid = ProcessExists("regedit.exe")
    
    
    ;~ If $pid Then
    ;~  $h_tree = WinHandFromPID($pid, "[CLASS:RegEdit_RegEdit]")
    ;~  WinActivate("[CLASS:RegEdit_RegEdit]", "")
    ;~ EndIf
    
    
    WinWaitActive("[CLASS:RegEdit_RegEdit]", "")
    ;~ WinActivate("[CLASS:RegEdit_RegEdit]", "")
    ;~ WinSetState("[CLASS:RegEdit_RegEdit]", "", @SW_SHOW) ; activate
    ;~ WinSetState("[CLASS:RegEdit_RegEdit]", "", @SW_RESTORE) ; activate
    ;~ WinSetState("[CLASS:RegEdit_RegEdit]", "", @SW_RESTORE) ; activate
    
    
    $h_tree = WinGetHandle("[CLASS:RegEdit_RegEdit]", "")
    ;~ $ret = _WinAPI_ShowWindow($h_tree, @SW_RESTORE)
    
    
    $ctrl = ControlGetHandle($h_tree, "", "[CLASS:SysTreeView32]")
    
    
    ConsoleWrite("$h_tree: " & $h_tree & @CRLF)
    ConsoleWrite("$ctrl: " & $ctrl & @CRLF)
    
    
    $show = GUICtrlCreateButton("Show", 70, 180, 70, 20)
    
    
    Show()
    
    
    
    
    ;~ While 1
    ;~  Sleep(200)
    ;~ WEnd
    
    
    
    
    Func Show()
        $result = ""
    
    
        _SendMessage($ctrl, $WM_SETFOCUS, 0, 0)
        If @error Then ConsoleWrite("error" & @CRLF)
    
    
    
    
        $h_item = _SendMessage($ctrl, $TVM_GETNEXTITEM, $TVGN_ROOT, 0)
    
    
        $split = StringSplit("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "\")
        For $i=1 To $split[0]
    
    
            ConsoleWrite("item bevor findkey: " & $h_item & @CRLF)
    
    
            $h_item = FindKey($h_item, $split[$i])
            If $h_item = 0 Then Return
            _SendMessage($ctrl, $TVM_SELECTITEM, 0x0009, $h_item)
    
    
            ; expand tree
            _GUICtrlTreeView_Expand($ctrl, $h_item)
    
    
        Next
    
    
        MsgBox(0, "dsfsdf", "sdfsf")
        Exit
    EndFunc
    
    
    
    
    Func FindKey($hItemParent, $sKey)
    
    
        $h_item = _SendMessage($ctrl, $TVM_GETNEXTITEM, $TVGN_CHILD, $hItemParent)
        ConsoleWrite("child : " & $h_item & " key: " & $sKey & " parent: " & $hItemParent & " parent text: " & _GUICtrlTreeView_GetText($ctrl, $hItemParent) & @CRLF)
    
    
        While $h_item <> 0
            Local $sItemText = _GUICtrlTreeView_GetText($ctrl, $h_item)
            ConsoleWrite("text : " & $sItemText & @CRLF)
            If $sItemText = $sKey Then Return $h_item
    
    
            $h_item = _SendMessage($ctrl, $TVM_GETNEXTITEM, $TVGN_NEXT, $h_item)
            ConsoleWrite("next : " & $h_item & @CRLF)
        WEnd
        ConsoleWrite("not found" & @CRLF)
        Return 0
    
    
    EndFunc
    Alles anzeigen
  • 2-D Array syntax error/nesting problem

    • AutoITBengel
    • 27. Februar 2016 um 04:43

    Danke Sir, kann man sicherlich mal gebrauchen :)

  • 2-D Array syntax error/nesting problem

    • AutoITBengel
    • 26. Februar 2016 um 16:16

    Grüß dich BugFix :)
    Ich dachte mir schon, dass das mit Klammern nicht möglich ist. Werde mit deiner Funktion weiter arbeiten.

    Danke :)

  • 2-D Array syntax error/nesting problem

    • AutoITBengel
    • 26. Februar 2016 um 15:05

    Hi,
    ich hätte gerne folgende Struktur, bin aber scheinbar nicht clever genug dafür:


    Code
    Local $aArray[100][4] = [ _
    	["HKLM64\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU", "NoAutoUpdate", 1, 0], _
    	["HKLM64\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings", "UxOption", 1, 0], _
    	[["HKLM\SYSTEM\ControlSet001\Services\PcaSvc", "HKLM\SYSTEM\CurrentControlSet\Services\PcaSvc"], ["Start", "Start"], [4, 4], [3, 3]], _
    	["HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "VerboseStatus", 1, 0] _
    ]

    Zeile 4 ist ausschlaggebend. Jede Zeile stellt eine "Option" dar und manche Optionen benötige 2 Tweaks, wie z.B. Zeile 4. So gesehen brauche ich ein Array in einem Array, aber statt diese Arrays zu definieren, möchte ich das direkt im $aArray definieren. Die Struktur müsste also genau so sein wie oben beschrieben, das ist wichtig, weil ich das Array später mit einer loop durchlaufe.

    Möglich?

  • Object Item auf Existenz prüfen

    • AutoITBengel
    • 17. Februar 2016 um 23:08

    ok läuft, habs jetzt so gemacht:

    Code
    Func FirewallRuleExists($sName)
        Local $oPolicy = ObjCreate("HNetCfg.FwPolicy2")
    	Return IsObj($oPolicy.Rules.Item($sName))
    EndFunc
    
    
    
    
    Func Template_COMErrorRegister()
    	$__g_oTemplateCOMErrorHandler = ObjEvent("AutoIt.Error", "Template_COMErrFunc")
    EndFunc   ;==>Template_COMErrorRegister
    
    
    
    
    Func Template_COMErrorUnregister()
    	$__g_oTemplateCOMErrorHandler = 0
    EndFunc   ;==>Template_COMErrorUnregister
    
    
    
    
    Func Template_COMErrFunc()
    	; Do nothing special, just check @error after suspect functions.
    EndFunc   ;==>Template_COMErrFunc
    
    
    Func GetOutgoingTrafficRules()
    
    	Template_COMErrorRegister()
    	Local $aCurExplorerOptions[] = [ _
    		FirewallRuleExists('"AADBrokerPlugin"-App') , _
    		FirewallRuleExists('"AppAccountsControl"-App') , _
    		FirewallRuleExists('"BioEnrollment"-App') , _
    		FirewallRuleExists('"LockApp"') , _
    		FirewallRuleExists('"Edge"-App (Teil 1/2)') , _
    		FirewallRuleExists('"Edge"-App (Teil 2/2)') , _
    		FirewallRuleExists('"AssignedAccessLockApp"-App') , _
    		FirewallRuleExists('"Background Task Host"-Prozesses') , _
    		FirewallRuleExists('"Download Upload Host"-Prozesses') , _
    		FirewallRuleExists('"Hostprozesses für Windows-Aufgaben"') , _
    		FirewallRuleExists('"Host Process for Setting Synchronization"') , _
    		FirewallRuleExists('"Microsoft Compatibility Telemetry"-Prozesses') , _
    		FirewallRuleExists('"FeedbackSIUFDeployment"-Prozesses') , _
    		FirewallRuleExists('"Feeds Synchronization"-Prozesses') , _
    		FirewallRuleExists('"MalwareProtectionCommandLineUtility"-Prozesses') , _
    		FirewallRuleExists('"Windows-Tools zum Entfernen bösartiger Software"') , _
    		FirewallRuleExists('"RuntimeBroker"-Prozesses') , _
    		FirewallRuleExists('"SIH Client"-Prozesses') , _
    		FirewallRuleExists('"Problem Reporting"-Prozesses') , _
    		FirewallRuleExists('"SQM-Konsolidator"-Prozesses') , _
    		FirewallRuleExists('"Windows-Aktivierungsclient"-Prozesses') , _
    		FirewallRuleExists('"Device Association Framework Provider Host"-Prozesses') _
    	]
    	Template_COMErrorUnregister()
    
    	Return $aCurExplorerOptions
    EndFunc
    Alles anzeigen
  • Object Item auf Existenz prüfen

    • AutoITBengel
    • 17. Februar 2016 um 22:27

    Das mit objevent ist ne super idee! Kann ich das so einrichten, dass ich nur von diesem "HNetCfg.FwPolicy2" Objekt den Fehler abfange und normale syntax Fehler weiterhin zum Crash führen?

    Wenn ich
    Global $oErrorHandler = ObjEvent("HNetCfg.FwPolicy2", "_ErrFunc")
    benutze, crasht AutoIt und wenn ich
    Global $oErrorHandler = ObjEvent("AutoIt.Error", "_ErrFunc")
    benutze, werden halt alle Arten von Fehlern umgangen

  • Object Item auf Existenz prüfen

    • AutoITBengel
    • 17. Februar 2016 um 19:03

    Hi,
    ich versuch auf eine bestimmte Firewall Regel zuzugreifen, bzw. auf ein Item eines "Regel" Objekts:

    Code
    Func FirewallRuleExists($sName)
        Local $oPolicy = ObjCreate("HNetCfg.FwPolicy2")
    	Return (IsObj($oPolicy.Rules.Item($sName))) ? 1 : 0
    
    
    EndFunc

    Das Problem ist, dass wenn beispielsweise $oPolicy.Rules.Item("Test") nicht existiert, ein Fehler geworfen wird:
    The requested action with this object has failed.:Return (IsObj($oPolicy.Rules.Item($sName))) ? 1 : 0

    $oPolicy.Rules ist ok, es geht nur ums Item...

    Kennt man ja auch vom Dictionary, daher hab ichs mit $oPolicy.Rules.Exists("Test") versucht, aber das "$oPolicy.Rules" Objekt ist kein Dictionary :/

    Hat jemand ne idee, wie ich den error abfangen kann?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™