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

Beiträge von AntiSpeed

  • Winpcap - IP - Ethernet kommt nicht an !?

    • AntiSpeed
    • 25. Februar 2011 um 22:08

    Hey
    Problem ist wie in Titel geschrieben. Ich habe folgenden Code:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <String.au3>
    #include "Winpcap.au3"

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

    $winpcap=_PcapSetup() ; initialize winpcap
    $pcap_devices=_PcapGetDeviceList() ; get devices list
    ;_ArrayDisplay($pcap_devices)
    $pcap=_PcapStartCapture($pcap_devices[0][0]) ; my interface

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

    $broadcastmac="FFFFFFFFFFFF" ; broacast
    $mymac=StringReplace($pcap_devices[0][6],":","") ; my mac address in hex
    $ethertype="0800" ; IP
    $mydata="0123456789" ; dumb padding...

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

    $mypacket="0x"&$broadcastmac&$mymac&$ethertype&$mydata ; stick together to a binary string !
    MsgBox(0,0,$mypacket)
    _PcapSendPacket($pcap,$mypacket) ; sends a valid ethernet broadcast !

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

    _PcapFree() ; close winpcap

    [/autoit]


    Leider funktioniert der nicht die Bohne, also ich Wireshark bekomme ich das Packet nicht angezeigt. Ich habe mal früher das ausprobiert und es hatte sogar funktioniert, aber dieses Netzwerk habe ich wieder gelöscht... Der Skript ist fast genau vom Bot-Forum übernommen, dh. nicht, dass ich jmd schaden will! Ich vermute stark, dass das mit der $broudcastmac zu tun hat, aber ich weiß nicht was ich sonst dahin schreiben soll ?( .
    MfG AntiSpeed
    Wäre nett, wenn ihr antworten würdet

  • Mini UDF - buttons erstellen leicht gemacht

    • AntiSpeed
    • 20. Februar 2011 um 19:04

    Änder das mal so um (besserer Stil) :

    [autoit]

    Global $realleft,$realtop,$realwidth,$realheight ;das hier steht ganz anfang (nach den includes)
    Func _buttonsetup($iHorizontalSpace, $iVerticalSpace, $iCellWidth, $iCellHeight)
    $realleft = $iHorizontalSpace
    $realtop = $iVerticalSpace
    $realwidth = $iCellWidth
    $realheight = $iCellHeight
    EndFunc

    [/autoit]


    MfG AntiSpeed

  • [GDI+] Transparent "zeichnen" auf auf ein Bmp32 - Andy?

    • AntiSpeed
    • 20. Februar 2011 um 16:50

    Vielen Dank. Wenn ich mal Zeit habe gucke ich mir das Skript mal genauer an. Sieht voll gut aus :D

  • Mini UDF - buttons erstellen leicht gemacht

    • AntiSpeed
    • 20. Februar 2011 um 16:47

    Genau das meine ich ^^

  • Mini UDF - buttons erstellen leicht gemacht

    • AntiSpeed
    • 20. Februar 2011 um 14:44

    Für den Anfang zwar gut, aber noch sehr ausbaubedürftig:
    - sehr langer Text
    - eine startup-func um den width und height von 10 und 50 umzustellen

    MfG AntiSpeed

  • Includes in Datei einbinden

    • AntiSpeed
    • 20. Februar 2011 um 14:19

    DFPWare:
    Was man nicht alles tut :D
    Füg das in den Editor ein:

    Code
    Windows Registry Editor Version 5.00
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script]
    @="AutoIt v3 Script"
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\DefaultIcon]
    @="C:\\Programme\\AutoIt3\\Icons\\au3script_v10.ico"
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell]
    @="Run"
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Compile]
    @="Compile Script"
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Compile\Command]
    @="\"C:\\Programme\\AutoIt3\\Aut2Exe\\Aut2Exe.exe\" /in \"%l\""
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Compile with Options]
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Compile with Options\Command]
    @="\"C:\\Programme\\AutoIt3\\SciTE\\AutoIt3Wrapper\\AutoIt3Wrapper.exe\" /ShowGui /in \"%l
    
    
    \""
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Edit]
    @="Edit Script"
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Edit\Command]
    @="\"C:\\Programme\\AutoIt3\\SciTE\\SciTE.exe\" \"%1\""
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Open]
    @="Open"
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Open\Command]
    @="\"C:\\Programme\\AutoIt3\\SciTE\\SciTE.exe\" \"%1\""
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Run]
    @="Run Script"
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Run\Command]
    @="\"C:\\Programme\\AutoIt3\\AutoIt3.exe\" \"%1\" %*"
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Tidy]
    
    
    [HKEY_CLASSES_ROOT\AutoIt3Script\Shell\Tidy\Command]
    @="\"C:\\Programme\\AutoIt3\\SciTE\\Tidy\\Tidy.exe\" \"%1\""
    Alles anzeigen


    Und speichere als "AutoIt.reg" ab. Einfach doppelklick auf die Datei und dann mal PC neustarten. Du kannst dann die Datei wieder löschen.
    MfG AntiSpeed

  • Includes in Datei einbinden

    • AntiSpeed
    • 20. Februar 2011 um 13:08

    Öffne das Programm mal mit Admin-Rechten. Sonst vlt mit Kompalitbilitäts-Modus, ansonsten schreib mal Pee an.

  • Includes in Datei einbinden

    • AntiSpeed
    • 20. Februar 2011 um 12:24

    Dann hast du eine uralte Version. Lade hier die neuste Version runter http://www.autoitscript.com/site/autoit/downloads/ ("AutoIt Full Installation")

  • [GDI+] Transparent "zeichnen" auf auf ein Bmp32 - Andy?

    • AntiSpeed
    • 20. Februar 2011 um 11:47

    Vielen Dank. Super :thumbup:
    Hätte nicht gedacht das ich so knapp am Ziel war :D

  • Includes in Datei einbinden

    • AntiSpeed
    • 20. Februar 2011 um 11:36

    DFPWare:
    Wenn du AutoIt installiert hast, dann mach mal Rechtsklick auf eine au3 und dann "Compile with options", dann kommt dieses Fenster. Sonst must du "aut2exe.exe" mit einem Parameter aufrufen (weiß gerade nicht welcher).

  • [GDI+] Transparent "zeichnen" auf auf ein Bmp32 - Andy?

    • AntiSpeed
    • 20. Februar 2011 um 11:28

    Why bennenst du die Funcs um und schreibst nicht dazu wie sie funktionieren? -> bitte unqualifizierte Beiträge sein lassen und sonst wenns funktioniert bitte bei sowas ein bsp oder richtig erklären. Danke
    Die Funcs sind normalerweise aus der WinAPIEx.au3 und haben auch andere Parameter !?

    Mit Alpha Blend funktionierts genau so wenig.

    Spoiler anzeigen
    [autoit]

    #include <Misc.au3>
    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>
    #include <WinAPIEx.au3>

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

    ;Variablen deklarieren
    Global $hGUI, $hGraphics, $hBitmap, $hBackBuffer, $hPen
    Global $hDLL, $Pos, $_Pos[2]

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

    ;GDI+ initialisieren, DLL für _IsPressed öffnen und ESC als HotKey festlegen
    _GDIPlus_Startup()
    $hDLL = DllOpen("user32.dll")
    HotKeySet("{ESC}","_Exit")

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

    ;Transparente GUI erstellen
    $hDummy = GUICreate("") ; Dummy GUI, damit richtiges nicht in Taskleiste auftaucht.
    $hGUI = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST,$WS_EX_TRANSPARENT),$hDummy)
    GUISetBkColor(0xABCDEF, $hGUI)
    _WinAPI_SetLayeredWindowAttributes($hGUI, 0xABCDEF, 255)

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

    ;Graphic-Objekt, Pinsel und Backbuffer erstellen und GUI anzeigen
    $hPen = _GDIPlus_PenCreate(0xFFFF0000,3) ; Roten Pinsel mit Breite von 4 px.
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(@DesktopWidth, @DesktopHeight, $hGraphics)
    $hBackBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    GUISetState()

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

    While 1
    #cs
    $Pos = MouseGetPos()
    If $Pos[0]<>$_Pos[0] And $Pos[1]<>$_Pos[1] then
    Local $_ptr,$_hbmp
    $_hDC = _Bmp32_Create(@DesktopWidth,@DesktopHeight,$_ptr,$_hbmp)
    $_hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($_hbmp)
    ;_GDIPlus_GraphicsClear($hGraphics, 0x00000000)
    $_hBackBuffer = _GDIPlus_ImageGetGraphicsContext($_hBitmap)
    _GDIPlus_GraphicsDrawLine($_hBackBuffer, 50, 50, $Pos[0], $Pos[1],$hPen)
    $hDestDC=_GDIPlus_GraphicsGetDC($hGraphics)
    _WinAPI_TransparentBlt($hDestDC, 0, 0, @DesktopWidth, @DesktopHeight, $_hDC, 0, 0, @DesktopWidth, @DesktopHeight, "FF0000")
    _GDIPlus_GraphicsDrawImage($hGraphics, $_hBitmap, 0, 0)
    _GDIPlus_ImageDispose($_hBackBuffer)
    _GDIPlus_GraphicsReleaseDC($hGraphics,$hDestDC)
    _Bmp32_Delete($_hDC,$_hbmp)
    $_Pos=$Pos
    EndIf
    #ce
    $Pos = MouseGetPos()
    If $Pos[0]<>$_Pos[0] And $Pos[1]<>$_Pos[1] then
    Local $_ptr,$_hbmp
    $_hDC = _Bmp32_Create(@DesktopWidth,@DesktopHeight,$_ptr,$_hbmp)
    $_hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($_hbmp)
    ;_GDIPlus_GraphicsClear($hGraphics, 0x00000000)
    $_hBackBuffer = _GDIPlus_ImageGetGraphicsContext($_hBitmap)
    _GDIPlus_GraphicsDrawLine($_hBackBuffer, 50, 50, $Pos[0], $Pos[1],$hPen);davor nicht
    $hDestDC=_GDIPlus_GraphicsGetDC($hGraphics)
    ;$Alpha_Structure=_WinAPI_AlphaBlend_GetStruct(255)
    _WinAPI_AlphaBlend($hDestDC, 0, 0, @DesktopWidth, @DesktopHeight, $_hDC, 0, 0, @DesktopWidth, @DesktopHeight,0,False)
    _GDIPlus_GraphicsDrawLine($_hBackBuffer, 50, 50, $Pos[0], $Pos[1],$hPen);danach funktionierts auch nicht
    _GDIPlus_GraphicsDrawImage($hGraphics, $_hBitmap, 0, 0)
    _GDIPlus_ImageDispose($_hBackBuffer)
    _GDIPlus_GraphicsReleaseDC($hGraphics,$hDestDC)
    _Bmp32_Delete($_hDC,$_hbmp)
    $_Pos=$Pos
    EndIf
    WEnd

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

    Func _Exit()
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_PenDispose($hPen)
    GUIDelete($hGUI)
    DLLClose($hDLL)
    Exit
    EndFunc

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

    #cs
    _Bmp32 Funks von Andy
    Umbenannt von mir
    #ce
    Func _Bmp32_Delete($hDC, $hbmp)
    _WinAPI_DeleteObject($hbmp)
    _WinAPI_ReleaseDC(0, $hDC)
    EndFunc ;==>_Delete_Bitmap32

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

    Func _Bmp32_Create($iWidth, $iHeight, ByRef $ptr, ByRef $hbmp) ;erstellt leere 32-bit-Bitmap; Rückgabe DC und ptr und handle auf die Bitmapdaten
    Local $hcdc = _WinAPI_CreateCompatibleDC(0) ;Desktop-Kompatiblen DeviceContext erstellen lassen
    Local $tBMI = DllStructCreate($tagBITMAPINFO) ;Struktur der Bitmapinfo erstellen und Daten eintragen
    DllStructSetData($tBMI, "Size", DllStructGetSize($tBMI) - 4);Structgröße abzüglich der Daten für die Palette
    DllStructSetData($tBMI, "Width", $iWidth)
    DllStructSetData($tBMI, "Height", -$iHeight) ;minus =standard = bottomup
    DllStructSetData($tBMI, "Planes", 1)
    DllStructSetData($tBMI, "BitCount", 32) ;32 Bit = 4 Bytes => AABBGGRR
    Local $adib = DllCall('gdi32.dll', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBMI), 'uint', $DIB_RGB_COLORS, 'ptr*', 0, 'ptr', 0, 'uint', 0)
    $hbmp = $adib[0] ;hbitmap handle auf die Bitmap, auch per GDI+ zu verwenden
    $ptr = $adib[4] ;pointer auf den Anfang der Bitmapdaten, vom Assembler verwendet
    ;_arraydisplay($adib)
    _WinAPI_SelectObject($hcdc, $hbmp) ;objekt hbitmap in DC
    Return $hcdc ;DC der Bitmap zurückgeben
    EndFunc ;==>_CreateNewBmp32

    [/autoit]


    Wer davon Ahnung hat bitte schreiben :thumbup:
    MfG AntiSpeed

  • [GDI+] Transparent "zeichnen" auf auf ein Bmp32 - Andy?

    • AntiSpeed
    • 20. Februar 2011 um 10:51

    Hey
    Danke erstmal. Ich habe jetzt folgendes Skript, das aber irgendwie nicht funktioniert. Wahrscheinlich habe ich einen Parameter falsch angegeben. Guckt bitte mal drüber. Es soll der Strich mit der Farbe 0xFF0000 (Rot) noch übrig bleiben:

    Spoiler anzeigen
    [autoit]

    #include <Misc.au3>
    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>
    #include <WinAPIEX.au3>

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

    ;Variablen deklarieren
    Global $hGUI, $hGraphics, $hBitmap, $hBackBuffer, $hPen
    Global $hDLL, $Pos, $_Pos[2]

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

    ;GDI+ initialisieren, DLL für _IsPressed öffnen und ESC als HotKey festlegen
    _GDIPlus_Startup()
    $hDLL = DllOpen("user32.dll")
    HotKeySet("{ESC}","_Exit")

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

    ;Transparente GUI erstellen
    $hDummy = GUICreate("") ; Dummy GUI, damit richtiges nicht in Taskleiste auftaucht.
    $hGUI = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST,$WS_EX_TRANSPARENT),$hDummy)
    GUISetBkColor(0xABCDEF, $hGUI)
    _WinAPI_SetLayeredWindowAttributes($hGUI, 0xABCDEF, 255)

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

    ;Graphic-Objekt, Pinsel und Backbuffer erstellen und GUI anzeigen
    $hPen = _GDIPlus_PenCreate(0xFFFF0000,3) ; Roten Pinsel mit Breite von 4 px.
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(@DesktopWidth, @DesktopHeight, $hGraphics)
    $hBackBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    GUISetState()

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

    While 1
    $Pos = MouseGetPos()
    If $Pos[0]<>$_Pos[0] And $Pos[1]<>$_Pos[1] then
    Local $_ptr,$_hbmp
    $_hDC = _Bmp32_Create(@DesktopWidth,@DesktopHeight,$_ptr,$_hbmp)
    $_hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($_hbmp)
    ;_GDIPlus_GraphicsClear($hGraphics, 0x00000000)
    $_hBackBuffer = _GDIPlus_ImageGetGraphicsContext($_hBitmap)
    _GDIPlus_GraphicsDrawLine($_hBackBuffer, 50, 50, $Pos[0], $Pos[1],$hPen)
    $hDestDC=_GDIPlus_GraphicsGetDC($hGraphics)
    _WinAPI_TransparentBlt($hDestDC, 0, 0, @DesktopWidth, @DesktopHeight, $_hDC, 0, 0, @DesktopWidth, @DesktopHeight, "FF0000")
    _GDIPlus_GraphicsDrawImage($hGraphics, $_hBitmap, 0, 0)
    _GDIPlus_ImageDispose($_hBackBuffer)
    _GDIPlus_GraphicsReleaseDC($hGraphics,$hDestDC)
    _Bmp32_Delete($_hDC,$_hbmp)
    $_Pos=$Pos
    EndIf
    WEnd

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

    Func _Exit()
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_PenDispose($hPen)
    GUIDelete($hGUI)
    DLLClose($hDLL)
    Exit
    EndFunc

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

    #cs
    _Bmp32 Funks von Andy
    Umbenannt von mir
    #ce
    Func _Bmp32_Delete($hDC, $hbmp)
    _WinAPI_DeleteObject($hbmp)
    _WinAPI_ReleaseDC(0, $hDC)
    EndFunc ;==>_Delete_Bitmap32

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

    Func _Bmp32_Create($iWidth, $iHeight, ByRef $ptr, ByRef $hbmp) ;erstellt leere 32-bit-Bitmap; Rückgabe DC und ptr und handle auf die Bitmapdaten
    Local $hcdc = _WinAPI_CreateCompatibleDC(0) ;Desktop-Kompatiblen DeviceContext erstellen lassen
    Local $tBMI = DllStructCreate($tagBITMAPINFO) ;Struktur der Bitmapinfo erstellen und Daten eintragen
    DllStructSetData($tBMI, "Size", DllStructGetSize($tBMI) - 4);Structgröße abzüglich der Daten für die Palette
    DllStructSetData($tBMI, "Width", $iWidth)
    DllStructSetData($tBMI, "Height", -$iHeight) ;minus =standard = bottomup
    DllStructSetData($tBMI, "Planes", 1)
    DllStructSetData($tBMI, "BitCount", 32) ;32 Bit = 4 Bytes => AABBGGRR
    Local $adib = DllCall('gdi32.dll', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBMI), 'uint', $DIB_RGB_COLORS, 'ptr*', 0, 'ptr', 0, 'uint', 0)
    $hbmp = $adib[0] ;hbitmap handle auf die Bitmap, auch per GDI+ zu verwenden
    $ptr = $adib[4] ;pointer auf den Anfang der Bitmapdaten, vom Assembler verwendet
    ;_arraydisplay($adib)
    _WinAPI_SelectObject($hcdc, $hbmp) ;objekt hbitmap in DC
    Return $hcdc ;DC der Bitmap zurückgeben
    EndFunc ;==>_CreateNewBmp32

    [/autoit]


    MfG AntiSpeed

  • Chip wurde gestern 24

    • AntiSpeed
    • 20. Februar 2011 um 09:34

    Happy B-Day, nachräglich. Feier schön :party: .

  • [GDI+] Transparent "zeichnen" auf auf ein Bmp32 - Andy?

    • AntiSpeed
    • 19. Februar 2011 um 23:48

    Genau das meine ich doch! Und das funktioniert ja nicht, wenn man auf das Obere was anderes zeichnen möchte.

  • [GDI+] Transparent "zeichnen" auf auf ein Bmp32 - Andy?

    • AntiSpeed
    • 19. Februar 2011 um 23:30

    Wie du meins funktioniert nicht:

    [autoit]

    Local $_ptr,$_hbmp
    $_hDC = _Bmp32_Create(@DesktopWidth,@DesktopHeight,$_ptr,$_hbmp)
    $_hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($_hbmp)
    $_hGraphics = _GDIPlus_GraphicsCreateFromHDC($_hDC)
    _GDIPlus_GraphicsClear($hGraphics, 0x00000000)
    $_hBackBuffer = _GDIPlus_ImageGetGraphicsContext($_hBitmap)
    _GDIPlus_GraphicsDrawLine($_hGraphics, 50, 50, $Pos[0], $Pos[1],$hPen)
    _GDIPlus_GraphicsDrawImage($hGraphics, $_hBitmap, 0, 0)
    _GDIPlus_GraphicsDispose($_hGraphics)
    _Bmp32_Delete($_hDC,$_hbmp)

    [/autoit]


    Weil mit 0x000000 kann ich zB einen scharzen Stricht nicht "ausradieren" und den Bg transparent setzen - da du ja Transparents drüber setzt bleibt der Strich ^^ .

  • [GDI+] Transparent "zeichnen" auf auf ein Bmp32 - Andy?

    • AntiSpeed
    • 19. Februar 2011 um 22:11

    Hey
    Ich möchte auf ein Bmp32 den Hintergrund transparent machen. Das ausgeklammerte habe ich extra nicht benutzt, da es nicht so richtig funktioniert..
    Hier das Skript:

    Spoiler anzeigen
    [autoit]


    #include <Misc.au3>
    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>
    #include <WinAPIEX.au3>

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

    ;Variablen deklarieren
    Global $hGUI, $hGraphics, $hBitmap, $hBackBuffer, $hPen
    Global $hDLL, $Pos, $_Pos[2]

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

    ;GDI+ initialisieren, DLL für _IsPressed öffnen und ESC als HotKey festlegen
    _GDIPlus_Startup()
    $hDLL = DllOpen("user32.dll")
    HotKeySet("{ESC}","_Exit")

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

    ;Transparente GUI erstellen
    $hDummy = GUICreate("") ; Dummy GUI, damit richtiges nicht in Taskleiste auftaucht.
    $hGUI = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST,$WS_EX_TRANSPARENT),$hDummy)
    GUISetBkColor(0xABCDEF, $hGUI)
    _WinAPI_SetLayeredWindowAttributes($hGUI, 0xABCDEF, 255)

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

    ;Graphic-Objekt, Pinsel und Backbuffer erstellen und GUI anzeigen
    $hPen = _GDIPlus_PenCreate(0xFFFF0000,3) ; Roten Pinsel mit Breite von 4 px.
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(@DesktopWidth, @DesktopHeight, $hGraphics)
    $hBackBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    GUISetState()

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

    While 1
    $Pos = MouseGetPos()
    If $Pos[0]<>$_Pos[0] And $Pos[1]<>$_Pos[1] then
    ;GUISetBkColor(0xABCDEF, $hGUI)
    ;$_hBitmap = _GDIPlus_BitmapCreateFromGraphics(@DesktopWidth, @DesktopHeight, $hGraphics)
    ;$_hBackBuffer = _GDIPlus_ImageGetGraphicsContext($_hBitmap)
    ;_GDIPlus_GraphicsDrawLine($_hBackBuffer, 50, 50, $Pos[0], $Pos[1],$hPen)
    ;_GDIPlus_GraphicsDrawImage($hGraphics, $_hBitmap, 0, 0)
    ;_GDIPlus_ImageDispose($_hBackBuffer)
    ;_GDIPlus_BitmapDispose($_hBitmap)

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

    Local $_ptr,$_hbmp
    $_hDC = _Bmp32_Create(@DesktopWidth,@DesktopHeight,$_ptr,$_hbmp)
    $_hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($_hbmp)
    $_hBackBuffer = _GDIPlus_ImageGetGraphicsContext($_hBitmap)
    _GDIPlus_GraphicsDrawLine($_hBackBuffer, 50, 50, $Pos[0], $Pos[1],$hPen)
    _GDIPlus_GraphicsDrawImage($hGraphics, $_hBitmap, 0, 0)
    _GDIPlus_ImageDispose($_hBackBuffer)
    _Bmp32_Delete($_hDC,$_hbmp)
    $_Pos=$Pos
    EndIf
    WEnd

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

    Func _Exit()
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_PenDispose($hPen)
    GUIDelete($hGUI)
    DLLClose($hDLL)
    Exit
    EndFunc

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

    #cs
    _Bmp32 Funks von Andy
    Umbenannt von mir
    #ce
    Func _Bmp32_Delete($hDC, $hbmp)
    _WinAPI_DeleteObject($hbmp)
    _WinAPI_ReleaseDC(0, $hDC)
    EndFunc ;==>_Delete_Bitmap32

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

    Func _Bmp32_Create($iWidth, $iHeight, ByRef $ptr, ByRef $hbmp) ;erstellt leere 32-bit-Bitmap; Rückgabe DC und ptr und handle auf die Bitmapdaten
    Local $hcdc = _WinAPI_CreateCompatibleDC(0) ;Desktop-Kompatiblen DeviceContext erstellen lassen
    Local $tBMI = DllStructCreate($tagBITMAPINFO) ;Struktur der Bitmapinfo erstellen und Daten eintragen
    DllStructSetData($tBMI, "Size", DllStructGetSize($tBMI) - 4);Structgröße abzüglich der Daten für die Palette
    DllStructSetData($tBMI, "Width", $iWidth)
    DllStructSetData($tBMI, "Height", -$iHeight) ;minus =standard = bottomup
    DllStructSetData($tBMI, "Planes", 1)
    DllStructSetData($tBMI, "BitCount", 32) ;32 Bit = 4 Bytes => AABBGGRR
    Local $adib = DllCall('gdi32.dll', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBMI), 'uint', $DIB_RGB_COLORS, 'ptr*', 0, 'ptr', 0, 'uint', 0)
    $hbmp = $adib[0] ;hbitmap handle auf die Bitmap, auch per GDI+ zu verwenden
    $ptr = $adib[4] ;pointer auf den Anfang der Bitmapdaten, vom Assembler verwendet
    ;_arraydisplay($adib)
    _WinAPI_SelectObject($hcdc, $hbmp) ;objekt hbitmap in DC
    Return $hcdc ;DC der Bitmap zurückgeben
    EndFunc ;==>_CreateNewBmp32

    [/autoit]


    Danke für eure Hilfe :thumbup:
    MfG AntiSpeed

  • AVG Anti-Virus Free 10 erkennt Scripte als Virus

    • AntiSpeed
    • 18. Februar 2011 um 19:25

    Also ich benutze "Avast!" und finde den gut. Ohne das Programm zu bezahlen bekommt man zwar eine abgespeckte Version, die mir aber vollkommen ausreicht.

  • Android Hany gesucht - Acer beTouch oder LG Optimus One ?

    • AntiSpeed
    • 18. Februar 2011 um 15:36

    Wow! Das hat ja eine Leistung von nem mittelmäsigem Netbook :o .
    Das ist zwar übels gut, aber leider mir zu teuer ^^ - Man sieht das guuut aus.

  • Android Hany gesucht - Acer beTouch oder LG Optimus One ?

    • AntiSpeed
    • 17. Februar 2011 um 19:19

    Ich hab mir die Seite mal genauer angeguckt und finde diese beiden am besten:
    Acer beTouch E400
    LG P500 Optimus One

    Ich finde das beTouch irgendwie besser, obwohl überall das Optimus One gepriesen wird...
    Wer hat so ein Handy? Bitte schreibt mal kurz wie ihr es findet :thumbup:

  • Android Hany gesucht - Acer beTouch oder LG Optimus One ?

    • AntiSpeed
    • 17. Februar 2011 um 16:54

    Vielen Dank :thumbup:
    Ich hab die Seite nie gefunden ?(

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™