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. bernd670

Beiträge von bernd670

  • G15 LCD SDK

    • bernd670
    • 9. August 2006 um 19:55

    Für was brauchst du es denn (Code-Beispiel), man könnte es evtl. mit DllStructCreate verwirklichen! Ansonsten kann ein normales Array ja x-belibige Werte speichern (Array[6880]).

    @edit1: Wer lesen kann ist klar im Vorteil :schild4: ! Ich versuche mal die Schleife umzuschreiben!


    Probier mal ob das geht:

    Code
    #include <Misc.au3>
    
    
    $byteArray = ""
    for $i = 1 To 6879
        $byteArray &= "byte;"
    Next
    $byteArray &= "byte"
    
    
    $byteArrayDemo = DllStructCreate($byteArray)
    
    
    For $X = 0 To 159
        For $Y = 0 To 42
            DllStructSetData($byteArrayDemo,(($Y * 160) + $X) + 1,  _Iif(Mod($X+$Y,2) = 0,255,0))
        Next
    Next
    
    
    $obj.showPixels(DllStructGetPtr($byteArrayDemo), 0)
    Alles anzeigen
  • stringvergleich

    • bernd670
    • 8. August 2006 um 19:52

    Kann meine Funktion (jetzt -> Bug entfernt) auch:

    Code
    $test="abc ;def ghi"
    $x=8
    msgbox( 0,"stringtest",_MyStringInStr($test,";",$x))
  • PDf erstellen ohne Adobe und Postscript

    • bernd670
    • 8. August 2006 um 17:23

    Hallo,

    diese Funktionen scheinen (noch) nicht verwirklicht zu sein! :weinen: :weinen:

  • stringvergleich

    • bernd670
    • 8. August 2006 um 14:55

    Um nach dem (ersten) Vorkommen von "xxx" vor dem ersten ";" in $String zu suchen brauchst du meine Funktion nur so aufzurufen:

    Code
    _MyStringInStr($String, "xxx", ";")

    Vllt. schreibe ich noch eine Funktion die eine Zeile in Felder zerlegt und sucht!

  • Feedback Test

    • bernd670
    • 8. August 2006 um 11:25

    Bei mir klappt das mit der Beschreibung, kann's aber im moment nur auf Win2000 testen, heute abend wenn ich zu hause bin werde ich es nochmal unter XP testen.

    bzgl. IconCache habe ich folgendes gefunden!

    Zitat

    Löschen Sie danach die Datei "ShellIconCache" aus dem Windowsverzeichnis und starten Sie den Rechner neu. Die Datei wird bei Bedarf automatisch wieder neu angelegt, unter Umständen geschieht dies erst beim nächsten Neustart.


    Ab Windows XP heist die Datei "IconCache.db" und nicht "ShellIconCache". Sie finden diese Datei im Verzeichnis "C:\Dokumente und Einstellungen\[Accountname]\Lokale Einstellungen\Anwendungsdaten".

    @Edit1: Hab's jetzt unter XP getestet -> auch hier wird die Beschreibung richtig angezeigt. IconCache kann man löschen in dem man die Farbtiefe umstellt, mal schauen ob sowas in die Funktion einbauen kann.

  • stringvergleich

    • bernd670
    • 8. August 2006 um 09:26

    Hallo,

    ich habe da mal was gebastelt! ;)

    Spoiler anzeigen
    Code
    ;===============================================================================
    ;
    ; Description:      Prüft, ob eine Zeichenfolge eine andere Zeichenfolge enthält. Mit Angabe einer Suchposition.
    ; Parameter(s):     $String    = Zeichenfolge, die geprüft werden soll
    ;                   $SubString = Unterzeichenfolge, nach der gesucht werden soll
    ;                   (optional) $Pos       = kann Zahlenwert oder Zeichenfolge sein.
    ;                                           Wenn $Occurence positiv ist wird die Zeichenfolge bis zu dieser Position durchsucht, 
    ;                                           ist $Occurence negativ wird die Zeichenfolge ab dieser Position durchsucht.
    ;                                           Wenn $Pos = -1 ist wird der komplette String durchsucht
    ;                   (optional) $CaseSense = 0 - Groß- und Kleinschreibung werden nicht berücksichtigt (Vorgabewert)
    ;                                           1 - Berücksichtigt Groß- und Kleinschreibung
    ;                   (optional) $Occurence = Bestimmt, nach welchem Auftreten der Unterzeichenfolge gesucht werden soll. 
    ;                                           Ist der Wert negativ, wird von rechts ausgehend gesucht. 
    ;                                           Der Vorgabewert ist 1 (erstes Auftreten von links aus gesehen)
    ; Requirement(s):   keine
    ; Return Value(s):  bei Erfolg: Position von $SubString (absolut)
    ;                               0 = $SubString nicht enthalten
    ;                               @error = 0 - Normaler Ablauf
    ;                               @error = 1 - Nichts gefunden. Der Wert für $Occurance muss eine positive oder negative 
    ;                                            Ganzzahl sein.
    ;                               @error = 2 - $Pos ist ungültig
    ; Author(s):        bernd670
    ;
    ;===============================================================================
    Func _MyStringInStr ($String, $SubString, $Pos = -1, $CaseSense = 0, $Occurence = 1)
    
    
        If $Occurence = 0 Then
            SetError(1)
            Return 0
        EndIf
    
    
        If $Pos = 0 Then
            SetError(2)
            Return 0
        EndIf
    
    
        If IsString($Pos) Then 
            $Pos = StringInStr($String,$Pos)
            If @error Or $Pos = 0 Then
                SetError(2)
                Return 0
            EndIf
        EndIf
    
    
        If $Pos > 0 Then
            If $Occurence < 0 Then
                $String = StringRight($String,$Pos)
            Else
                $String = StringLeft($String,$Pos)
            EndIf
        EndIf
    
        $Find = StringInStr($String,$SubString,$CaseSense,$Occurence)
        If @error Then
            SetError(@error)
            Return 0
        EndIf
    
        If $Pos > 0 And $Occurence < 0 Then $Find = $Pos + $Find
    
        SetError(0)
        Return $Find
    EndFunc
    Alles anzeigen

    @edit1: Fehlerteufel -> Bug entfernt! :hammer:

  • Feedback Test

    • bernd670
    • 7. August 2006 um 20:46

    Hab's geändert, jetzt kannst du auch eine Beschriebung eingeben!

    Spoiler anzeigen
    Code
    ;===============================================================================
    ;
    ; Description:      Verknüpft Dateierweiterung mit Anwendung
    ; Parameter(s):     $sFileType    = Dateierweiterung
    ;                   $sDescription = Beschreibung für die Datei
    ;                   (optional) $sAppName = Anwendung für die Registriert werden
    ;                                          soll, wird keine Anwendung angegeben
    ;                                          wird die aktuelle Anwendung eingetragen
    ; Requirement(s):   keine
    ; Return Value(s):  bei Erfolg: 1
    ;                   bei Fehler: 0 und @error = 1
    ; Author(s):        bernd670
    ;
    ;===============================================================================
    Func _RegisterFileType($sFileType, $sDescription, $sAppName = "")
        Dim $sTypeName
    
        If $sFileType = "" Or $sDescription = "" Then
            SetError(1)
            Return 0
        EndIf
    
        If $sAppName = "" Then $sAppName = @ScriptFullPath
    
        $sFileType = StringLower($sFileType)
    
        If StringLeft($sFileType,1) <> "." Then
            $sTypeName = $sFileType
            $sFileType = "." & $sFileType
        Else
            $sTypeName = StringRight($sFileType, StringLen($sFileType) -1)
        EndIf
    
        $sTypeName = $sTypeName & "file"
    
        RegWrite("HKEY_CLASSES_ROOT\" & $sFileType, "", "REG_SZ", $sTypeName)
        RegWrite("HKEY_CLASSES_ROOT\" & $sTypeName, "", "REG_SZ", $sDescription)
        RegWrite("HKEY_CLASSES_ROOT\" & $sTypeName & "\shell\open\command", "", "REG_SZ", $sAppName & " %1")
        RegWrite("HKEY_CLASSES_ROOT\" & $sTypeName & "\DefaultIcon", "", "REG_SZ", $sAppName & ",0")
    
        SetError(0)
        Return 1
    EndFunc    
    
    
    
    
    ;===============================================================================
    ;
    ; Description:      Hebt Verknüpfung einer Dateierweiterung mit Anwendung auf
    ; Parameter(s):     $sFileType    = Dateierweiterung
    ; Requirement(s):   keine
    ; Return Value(s):  bei Erfolg: 1
    ;                   bei Fehler: 0 und @error = 1
    ; Author(s):        bernd670
    ;
    ;===============================================================================
    Func _UnRegisterFileType($sFileType)
        Dim $sTypeName
    
        If $sFileType = "" Then
            SetError(1)
            Return 0
        EndIf
    
        $sFileType = StringLower($sFileType)
    
        If StringLeft($sFileType,1) <> "." Then
            $sTypeName = $sFileType
            $sFileType = "." & $sFileType
        Else
            $sTypeName = StringRight($sFileType, StringLen($sFileType) -1)
        EndIf
    
        $sTypeName = $sTypeName & "file"
    
        RegDelete("HKEY_CLASSES_ROOT\" & $sFileType)
        RegDelete("HKEY_CLASSES_ROOT\" & $sTypeName)
    
        SetError(0)
        Return 1
    EndFunc
    Alles anzeigen

    Das mit dem Icon liegt, wie Du vermutet hast, am Cache!

  • Feedback Test

    • bernd670
    • 7. August 2006 um 14:16

    Klar!

    Code
    ;~ Aufruf:  _RegisterFileType("[.]FileType", ["Pfad zur Anwendung"])
    ;~          Wird ["Pfad zur Anwendung"] weggelassen wird die 
    ;~          aktuelle Anwendung eingetragen
    ;~ Autor:   bernd670
    Func _RegisterFileType($sFileType, $sAppName = "")
        Dim $sTypeName
    
        If $sFileType = "" Then
            SetError(1)
            Return 0
        EndIf
    
        If $sAppName = "" Then $sAppName = @ScriptFullPath
    
        $sFileType = StringLower($sFileType)
    
        If StringLeft($sFileType,1) <> "." Then
            $sTypeName = $sFileType
            $sFileType = "." & $sFileType
        Else
            $sTypeName = StringRight($sFileType, StringLen($sFileType) -1)
        EndIf
    
        $sTypeName = $sTypeName & "file"
    
        RegWrite("HKEY_CLASSES_ROOT\" & $sFileType, "", "REG_SZ", $sTypeName)
        RegWrite("HKEY_CLASSES_ROOT\" & $sTypeName & "\shell\open\command", "", "REG_SZ", $sAppName & " %1")
        RegWrite("HKEY_CLASSES_ROOT\" & $sTypeName & "\DefaultIcon", "", "REG_SZ", $sAppName & ",0")
    
        SetError(0)
        Return 1
    EndFunc    
    
    
    
    
    ;~ Aufruf:   _UnRegisterFileType("[.]FileType")
    ;~ Autor:    bernd670
    Func _UnRegisterFileType($sFileType)
        Dim $sTypeName
    
        If $sFileType = "" Then
            SetError(1)
            Return 0
        EndIf
    
        $sFileType = StringLower($sFileType)
    
        If StringLeft($sFileType,1) <> "." Then
            $sTypeName = $sFileType
            $sFileType = "." & $sFileType
        Else
            $sTypeName = StringRight($sFileType, StringLen($sFileType) -1)
        EndIf
    
        $sTypeName = $sTypeName & "file"
    
        RegDelete("HKEY_CLASSES_ROOT\" & $sFileType)
        RegDelete("HKEY_CLASSES_ROOT\" & $sTypeName)
    
        SetError(0)
        Return 1
    EndFunc
    Alles anzeigen
  • Feedback Test

    • bernd670
    • 7. August 2006 um 13:56

    Hallo,

    hier ist eine Funktion zum Registrieren von Dateitypen:

    Code
    ;~ Aufruf:  _RegisterFileType("[.]FileType", ["Pfad zur Anwendung"])
    ;~          Wird ["Pfad zur Anwendung"] weggelassen wird die 
    ;~          aktuelle Anwendung eingetragen
    ;~ Autor:   bernd670
    Func _RegisterFileType($sFileType, $sAppName = "")
        Dim $sTypeName
    
        If $sFileType = "" Then
            SetError(1)
            Return 0
        EndIf
    
        If $sAppName = "" Then $sAppName = @ScriptFullPath
    
        $sFileType = StringLower($sFileType)
    
        If StringLeft($sFileType,1) <> "." Then
            $sTypeName = $sFileType
            $sFileType = "." & $sFileType
        Else
            $sTypeName = StringRight($sFileType, StringLen($sFileType) -1)
        EndIf
    
        $sTypeName = $sTypeName & "file"
    
        RegWrite("HKEY_CLASSES_ROOT\" & $sFileType, "", "REG_SZ", $sTypeName)
        RegWrite("HKEY_CLASSES_ROOT\" & $sTypeName & "\shell\open\command", "", "REG_SZ", $sAppName & " %1")
        RegWrite("HKEY_CLASSES_ROOT\" & $sTypeName & "\DefaultIcon", "", "REG_SZ", $sAppName & ",0")
    
        SetError(0)
        Return 1
    EndFunc
    Alles anzeigen

    Hier das Original -> http://www.vbarchiv.net/workshop/workshop61s2.html

  • Feedback Test

    • bernd670
    • 6. August 2006 um 11:11

    Hallo,

    hier ein paar Bugs und Anregungen die mir beim Test der Version 0.90 aufgefallen sind!

    1. Beim zurückspielen vom Backup kam die Fehlermeldung (s. Bild)! Vllt. solltest du Abfragen wie

    Code
    If $recent_alarms[0][0] > 0 Then

    ersetzen durch

    Code
    If IsArray($recent_alarms) Then



    2. Verknüpfung mit gld-Dateien funktioniert nicht.

    3. Wenn man als persönliche Farbe eine wählt die etwas dunkler ist sollte die Schriftfarbe hellgrau oder weiß werden bzw. auch einstellbar sein!

    4. Die persönliche Farbe wird erst aktiviert wenn der Desktop aufgebaut ist, umgekehrt wäre vllt. schöner!

    5. Bei Termin -> neuen Termin anlegen, ist die Distanz zwischen Start- und Endezeit, beim öffnen des Dialoges, manchmal 1 Stunde und manchmal 30 Minuten. Die Sekunden würde ich immer auf "00" setzen oder mit

    Code
    $gui_newTask_endtime = GUICtrlCreateDate("00:00:00", 96, 136, 82, 21, $DTS_TIMEFORMAT)
    GuiCtrlSendMsg(-1, 0x1005, 0, "HH:mm")

    das Format auf Stunden und Minuten setzten.

    6. In dem Dialog wo der Sound eingestellt wird wäre ein Button zum änhören nicht schlecht!

    7. Ein Termin sollte sich nicht nur bei der Alarmzeit sondern auch bei der Startzeit des Termins melden!

    8. Wenn das Alarmfenster erscheint ist die Angabe "erneut alarmieren in" etwas irritierend, vllt. sollte die Abfrage nur kommen wenn der Snooze-Button betätigt wird.

    9. Wenn ich wiederkehrenden Termin aktiviere aber weder Titel, Ort und Titelbeschreibung eingebe und auf Termin hinzufügen drücke wird ein leerer Termin eingetragen! Vllt. sollte der Button nur aktiv sein wenn mind. ein Titel eingetragen wurde.

    10. Bei wiederkehrender Termin kann man auswählen "Außer/Nur wenn Titel gleich/enthält ....", was hat das für einen Sinn. Ich dachte der Termin der eingetragen wird soll dadurch zum wiederkehrenden Termin werden?!

    Bilder

    • Restore-Backup.jpg
      • 14,72 kB
      • 431 × 165
  • Mausachsen vertauschen

    • bernd670
    • 5. August 2006 um 19:53

    Ich habe mal die DLL-Aufrufe mit ins Script eingebaut, probier mal ob es jetzt besser geht:

    Code
    #NoTrayIcon
    
    
    HotKeySet("^!i","_InvertOnOff")
    HotKeySet("^!x","_InvertXOnOff")
    HotKeySet("^!y","_InvertYOnOff")
    
    
    Global $MouseStart = _GetCursorPos()
    Global $MousePos
    Global $InvertX = True      ; X-Achse tauschen (rechts-links)
    Global $InvertY = True      ; Y-Achse tauschen (hoch-runter)
    Global $InvertOn = False  
    
    
    While 1
        If $InvertOn Then 
            $MousePos = _GetCursorPos()
            $Dx = $MousePos[0] - $MouseStart[0]
            $Dy = $MousePos[1] - $MouseStart[1]
    
    
            ; Mousepositionen am Rand korrigieren
            If $Dx > 1500 Then $Dx = -1
            If $Dy > 1500 Then $Dy = -1
            If $Dx < -1500 Then $Dx = 1
            If $Dy < -1500 Then $Dy = 1
    
            If $InvertX Then 
                $MouseStart[0] = $MousePos[0] - 2 * $Dx
            Else 
                $MouseStart[0] = $MousePos[0]
            EndIf
    
            If $InvertY Then 
                $MouseStart[1] = $MousePos[1] - 2 * $Dy
            Else 
                $MouseStart[1] = $MousePos[1]
            EndIf
    
    
            _SetCursorPos($MouseStart[0], $MouseStart[1])
        EndIf
    
        Sleep(2) ; Prozessor entlasten
    Wend
    
    
    
    
    Func _InvertOnOff()
        If $InvertOn Then
            $InvertOn = False
        Else
            $InvertOn = True
            $MouseStart = _GetCursorPos()
        EndIf
    EndFunc
    
    
    
    
    Func _GetCursorPos()
        Local $Pt = DllStructCreate("uint;uint")
        Local $RetVal[2]
    
        DllCall("user32.dll", "long", "GetCursorPos", "ptr", DllStructGetPtr($Pt))
    
    
        $RetVal[0] = DllStructGetData($Pt,1)
        $RetVal[1] = DllStructGetData($Pt,2)
    
        Return $RetVal
    EndFunc
    
    Func _SetCursorPos($PosX, $PosY)
        DllCall("user32.dll", "long", "SetCursorPos", "long", $PosX, "long", $PosY)
    EndFunc
    
    
    Func _InvertXOnOff()
        if $InvertX Then
            $InvertX = False
        Else
            $InvertX = True
        EndIf
    EndFunc
    
    
    Func _InvertYOnOff()
        if $InvertY Then
            $InvertY = False
        Else
            $InvertY = True
        EndIf
    EndFunc
    Alles anzeigen

    Zum aktivieren Strg+Alt+I drücken

  • Mausachsen vertauschen

    • bernd670
    • 5. August 2006 um 19:38

    Dafür benötigst du VisualBasic!

  • BlockInput

    • bernd670
    • 5. August 2006 um 18:31

    Nach dem das Spiel gestartet ist kann ich mit der Maus nicht mehr beeinflussen, kann aber an der Trägheit von meinem Touchpad liegen.

    Vllt geht ja das: (MouseMove durch _MouseTrap ersetzt)

    C
    ; ----------------------------------------------------------------------------
    ;
    ; AutoIt Version: 3.1.1.131 beta
    ; Author:        Dr.Galvany
    ;
    ; ----------------------------------------------------------------------------
    
    
    #include <GUIConstants.au3>
    #include <Misc.au3>
    
    
    ;~ opt("MouseCoordMode", 0)
    ;~ opt("PixelCoordMode", 0)
    opt("MouseClickDelay", 0)
    opt("MouseClickDownDelay", 0)
    
    
    While 1
        $SelectionForm = GUICreate("Pixel sucher", 298, 83, 350, 400)
        GUICtrlCreateLabel("Starte das Spiel:", 32, 8, 81, 17)
        $PingPoll = GUICtrlCreateButton("Ping Poll", 162, 40, 60, 25)
    
        GUISetState()
    
        While 1
            $msg = GUIGetMsg()
            Select
                Case $msg = $PingPoll
                    $gamename = "Ping Poll"
                    GUIDelete($SelectionForm)
                    ExitLoop
                Case $msg = $GUI_EVENT_CLOSE
                    Exit
            EndSelect
        WEnd
    
        $oGame = ObjCreate ("ShockwaveFlash.ShockwaveFlash.1")
        $GameForm = GUICreate($gamename & ": Pixel sucher", 820, 660, -1, -1)
        $GUIActiveX = GUICtrlCreateObj ($oGame, 10, 10, 800, 580)
        $exitbutton = GUICtrlCreateButton("Exit", 704, 624, 89, 25)
        GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    
        If $gamename = "Ping Poll" Then
            With $oGame
                .bgcolor = "#000000"
                .Movie = 'http://www.2flashgames.com/anjh123hhf923/flash/f-178.swf'
                .ScaleMode = 2
                .Loop = True
                .wmode = "Opaque"
            EndWith
        EndIf
    
        GUISetState()
    
        While 1
            $coord = PixelSearch(10, 10, 800, 580, 0xfcfffb)
            If IsArray($coord) = 1 Then
                _holdMouse($coord)
            EndIf
            $msg = GUIGetMsg()
            Select
                Case $msg = $exitbutton
                    ExitLoop 2
                Case $msg = $GUI_EVENT_CLOSE
                    ExitLoop 2
            EndSelect
            Sleep(2)
        WEnd
    WEnd
    
    
    Func OnAutoItExit()
        _releaseMouse()
    EndFunc
    
    
    
    
    Func _holdMouse($Pos = "")
        If Not IsArray($Pos) Then $Pos = MouseGetPos()
        _MouseTrap($Pos[0],$Pos[1])
    EndFunc
    
    
    Func _releaseMouse()
        _MouseTrap()
    EndFunc
    Alles anzeigen
  • Mausachsen vertauschen

    • bernd670
    • 5. August 2006 um 18:15

    Hier der Code:

    Code
    #NoTrayIcon
    
    
    HotKeySet("^!i","_InvertOnOff")
    
    
    Global $MouseStart = MouseGetPos()
    Global $MousePos
    Global Const $InvertX = True    ; X-Achse tauschen (rechts-links)
    Global Const $InvertY = True    ; Y-Achse tauschen (hoch-runter)
    Global $InvertOn = False
    
    
    While 1
        If $InvertOn Then 
            $MousePos = MouseGetPos()
            $Dx = $MousePos[0] - $MouseStart[0]
            $Dy = $MousePos[1] - $MouseStart[1]
    
    
            ; Mousepositionen am Rand korrigieren
            If $Dx > 1500 Then $Dx = -1
            If $Dy > 1500 Then $Dy = -1
            If $Dx < -1500 Then $Dx = 1
            If $Dy < -1500 Then $Dy = 1
    
            If $InvertX Then 
                $MouseStart[0] = $MousePos[0] - 2 * $Dx
            Else 
                $MouseStart[0] = $MousePos[0]
            EndIf
    
            If $InvertY Then 
                $MouseStart[1] = $MousePos[1] - 2 * $Dy
            Else 
                $MouseStart[1] = $MousePos[1]
            EndIf
    
    
            MouseMove($MouseStart[0], $MouseStart[1],0)
        EndIf
    
        Sleep(2) ; Prozessor entlasten
    Wend
    
    
    
    
    Func _InvertOnOff()
        If $InvertOn Then
            $InvertOn = False
        Else
            $InvertOn = True
            $MouseStart = MouseGetPos()
        EndIf
    EndFunc
    Alles anzeigen

    @edit1: Jetzt kann man mit Strg+Alt+I ein- und ausschalten

  • Feedback Test

    • bernd670
    • 5. August 2006 um 17:38

    @@4: Wenn der zurückgespielte Kalender gleich dem momentanen Kalender ist, also der aktuelle mit einem älteren überschrieben wird, wäre es sinnvoll zu aktualisieren!

  • Mausachsen vertauschen

    • bernd670
    • 5. August 2006 um 17:28

    Gilt das nur für rechts-links oder auch hoch-runter?

  • BlockInput

    • bernd670
    • 5. August 2006 um 17:23

    Probiers mal so:

    Spoiler anzeigen
    C
    ; ----------------------------------------------------------------------------
    ;
    ; AutoIt Version: 3.1.1.131 beta
    ; Author:        Dr.Galvany
    ;
    ; ----------------------------------------------------------------------------
    
    
    #include <GUIConstants.au3>
    #include <Misc.au3>
    
    
    ;~ opt("MouseCoordMode", 0)
    ;~ opt("PixelCoordMode", 0)
    opt("MouseClickDelay", 0)
    opt("MouseClickDownDelay", 0)
    
    
    HotKeySet("+!h","_holdMouse")
    
    
    While 1
        $SelectionForm = GUICreate("Pixel sucher", 298, 83, 350, 400)
        GUICtrlCreateLabel("Starte das Spiel:", 32, 8, 81, 17)
        $PingPoll = GUICtrlCreateButton("Ping Poll", 162, 40, 60, 25)
    
        GUISetState()
    
        While 1
            $msg = GUIGetMsg()
            Select
                Case $msg = $PingPoll
                    $gamename = "Ping Poll"
                    GUIDelete($SelectionForm)
                    ExitLoop
                Case $msg = $GUI_EVENT_CLOSE
                    Exit
            EndSelect
        WEnd
        GUIDelete()
    
    
        $oGame = ObjCreate ("ShockwaveFlash.ShockwaveFlash.1")
        $GameForm = GUICreate($gamename & ": Pixel sucher", 820, 660, -1, -1)
        $GUIActiveX = GUICtrlCreateObj ($oGame, 10, 10, 800, 580)
        $exitbutton = GUICtrlCreateButton("Exit", 704, 624, 89, 25)
        GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    
        If $gamename = "Ping Poll" Then
            With $oGame
                .bgcolor = "#000000"
                .Movie = 'http://www.2flashgames.com/anjh123hhf923/flash/f-178.swf'
                .ScaleMode = 2
                .Loop = True
                .wmode = "Opaque"
            EndWith
        EndIf
    
        GUISetState()
    
    ;~     _holdMouse()
    
        While 1
            $coord = PixelSearch(10, 10, 800, 580, 0xfcfffb)
            If IsArray($coord) = 1 Then
                _releaseMouse()
                MouseMove($coord[0], $coord[1], 0)
                _holdMouse()
            EndIf
            $msg = GUIGetMsg()
            Select
                Case $msg = $exitbutton
                    ExitLoop 2
                Case $msg = $GUI_EVENT_CLOSE
                    ExitLoop 2
            EndSelect
        WEnd
    WEnd
    
    
    Func OnAutoItExit()
        _releaseMouse()
    EndFunc
    
    
    Func _holdMouse()
        $Pos = MouseGetPos()
        _MouseTrap($Pos[0],$Pos[1])
        HotKeySet("+!h","_releaseMouse")
    EndFunc
    
    
    Func _releaseMouse()
        _MouseTrap()
        HotKeySet("+!h","_holdMouse")
    EndFunc
    Alles anzeigen
  • mac adresse

    • bernd670
    • 5. August 2006 um 14:39

    _ArrayToString hat Probleme wenn das Array nur 1 Element besitzt.

  • BlockInput

    • bernd670
    • 5. August 2006 um 11:20

    Tut mir leid, ich kann jetzt irgendwie keine Beziehung zw. deinem Ursprünglichen Problem:

    Zitat

    Original von Dr.Galvany
    hallo, ist es möglich nur die Maus-Achsen zu blocken?
    mit "BlockInput" werden ja alle (fast) eingaben geblockt.

    und dem was du im letzten Post geschrieben hast, herstellen. :hammer:

    Vllt. solltest du schreiben was du willst? ;);)

  • mac adresse

    • bernd670
    • 5. August 2006 um 04:53

    Hier ein Beispiel wie man die Infos vom Netzwerkadapter mit WMI ausliest, erstellt mit Scriptomatic:

    Spoiler anzeigen
    Code
    ; Erstellt von AutoIt Scriptomatic
    $wbemFlagReturnImmediately=0x10
    $wbemFlagForwardOnly=0x20
    $colItems=""
    $strComputer="localhost"
    $Output=""
    $Output&="Computer: " &$strComputer  & @CRLF
    $Output&="==========================================" & @CRLF
    $objWMIService=ObjGet("winmgmts:\\" &$strComputer &"\root\CIMV2")
    $colItems=$objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter " & _
                  "WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> " & _
                  "'Microsoft'))", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
       For $objItem In $colItems
          $Output&="AdapterType: " &$objItem.AdapterType & @CRLF
          $Output&="AdapterTypeId: " &$objItem.AdapterTypeId & @CRLF
          $Output&="AutoSense: " &$objItem.AutoSense & @CRLF
          $Output&="Availability: " &$objItem.Availability & @CRLF
          $Output&="Caption: " &$objItem.Caption & @CRLF
          $Output&="ConfigManagerErrorCode: " &$objItem.ConfigManagerErrorCode & @CRLF
          $Output&="ConfigManagerUserConfig: " &$objItem.ConfigManagerUserConfig & @CRLF
          $Output&="CreationClassName: " &$objItem.CreationClassName & @CRLF
          $Output&="Description: " &$objItem.Description & @CRLF
          $Output&="DeviceID: " &$objItem.DeviceID & @CRLF
          $Output&="ErrorCleared: " &$objItem.ErrorCleared & @CRLF
          $Output&="ErrorDescription: " &$objItem.ErrorDescription & @CRLF
          $Output&="Index: " &$objItem.Index & @CRLF
          $Output&="InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
          $Output&="Installed: " &$objItem.Installed & @CRLF
          $Output&="LastErrorCode: " &$objItem.LastErrorCode & @CRLF
          $Output&="MACAddress: " &$objItem.MACAddress & @CRLF
          $Output&="Manufacturer: " &$objItem.Manufacturer & @CRLF
          $Output&="MaxNumberControlled: " &$objItem.MaxNumberControlled & @CRLF
          $Output&="MaxSpeed: " &$objItem.MaxSpeed & @CRLF
          $Output&="Name: " &$objItem.Name & @CRLF
          $Output&="NetConnectionID: " &$objItem.NetConnectionID & @CRLF
          $Output&="NetConnectionStatus: " &$objItem.NetConnectionStatus & @CRLF
          $strNetworkAddresses=$objItem.NetworkAddresses(0)
          $Output&="NetworkAddresses: " &$strNetworkAddresses & @CRLF
          $Output&="PermanentAddress: " &$objItem.PermanentAddress & @CRLF
          $Output&="PNPDeviceID: " &$objItem.PNPDeviceID & @CRLF
          $strPowerManagementCapabilities=$objItem.PowerManagementCapabilities(0)
          $Output&="PowerManagementCapabilities: " &$strPowerManagementCapabilities & @CRLF
          $Output&="PowerManagementSupported: " &$objItem.PowerManagementSupported & @CRLF
          $Output&="ProductName: " &$objItem.ProductName & @CRLF
          $Output&="ServiceName: " &$objItem.ServiceName & @CRLF
          $Output&="Speed: " &$objItem.Speed & @CRLF
          $Output&="Status: " &$objItem.Status & @CRLF
          $Output&="StatusInfo: " &$objItem.StatusInfo & @CRLF
          $Output&="SystemCreationClassName: " &$objItem.SystemCreationClassName & @CRLF
          $Output&="SystemName: " &$objItem.SystemName & @CRLF
          $Output&="TimeOfLastReset: " & WMIDateStringToDate($objItem.TimeOfLastReset) & @CRLF
          If Msgbox(1, "WMI-Ausgabe", $Output)=2 then ExitLoop
          $Output=""
       Next
    Else
       Msgbox(0, "WMI-Ausgabe","Keine WMI-Objekte gefunden für Klasse: " & "Win32_NetworkAdapter")
    Endif
    
    
    Func WMIDateStringToDate($dtmDate)
      Return (StringMid($dtmDate, 5, 2) &"/" &StringMid($dtmDate, 7, 2) &"/" &StringLeft($dtmDate, 4) & " " &StringMid($dtmDate, 9, 2) &":" &StringMid($dtmDate, 11, 2) &":" &StringMid($dtmDate,13, 2))
    EndFunc
    Alles anzeigen

    und Hier die Umsetzung als Funktion zum auslesen der MAC-Adressen von aktiven Netzadaptern:

    Spoiler anzeigen
    Code
    $MACAdressen = _GetMACAdresses() ; optional kann noch der Rechnername oder IP-Adresse eines PC angegeben werden
    If @error Then ; Wenn @error <> 0 ist, ist ein Fehler aufgetreten
        MsgBox(0,"", "Keine aktive Netzwerkkarte!")
        Exit
    EndIf
    
    
    For $i = 1 To $MACAdressen[0]  ; $MACAdressen[0] enthält die Anzahl der MACAdressen (aktive Netzwerkkarten)
        MsgBox(0,"MACAdresse " & $i, $MACAdressen[$i]) ; $MACAdressen[1] bis §MACAdressen[n] enthält die Adressen
    Next
    
    
    ;===============================================================================
    ;
    ; Description:      Gibt die MAC-Adressen aller aktiven Netzadapter zurück
    ; Parameter(s):     (optional) Rechnername oder IP-Adresse des Computers
    ; Requirement(s):   keine
    ; Return Value(s):  bei Erfolg: Array{0] = Anzahl der Netzadapter
    ;                               Array[1] = MAC-Adresse von Adapter 1
    ;                               Array[2] = MAC-Adresse von Adapter 2
    ;                                   :           :           :
    ;                               Array[n] = MAC-Adresse von Adapter n
    ;                   bei Fehler: Leerstring und @error = 1
    ; Author(s):        bernd670
    ;
    ;===============================================================================
    Func _GetMacAdresses($strComputer="localhost")
        Local Const $wbemFlagReturnImmediately=0x10
        Local Const $wbemFlagForwardOnly=0x20
        Local $colItems="", $MACS[2]
    
    
        $objWMIService=ObjGet("winmgmts:\\" &$strComputer &"\root\CIMV2")
        $colItems=$objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter " & _
                      "WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> " & _
                      "'Microsoft'))", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    
    
        If IsObj($colItems) Then
            $MACS[0] = 0
            For $objItem In $colItems
                $MACS[0] += 1
                If UBound($MACS) = $MACS[0] Then ReDim $MACS[$MACS[0]+1]
                $MACS[$MACS[0]] = $objItem.MACAddress
            Next
    
    
            SetError(0)
            Return $MACS
        Else
           SetError(1)
           Return ""
        Endif
    EndFunc
    Alles anzeigen

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™