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

Beiträge von Rodny_le_lude

  • speedport w724v Reconnector

    • Rodny_le_lude
    • 10. April 2016 um 00:55

    @grebph du hast dich nicht zurück gemeldet, hat es bei dir funktioniert ?

  • speedport w724v Reconnector

    • Rodny_le_lude
    • 5. April 2016 um 11:40

    Hallo Liebe Leute da es mir immer zu mühsam war meinen Router eine neue Ip zu verpassen habe ich ein kleines Script geschrieben das die ganze sache deutlich vereinfacht.
    Vorzugsweise für den Typ A falls jemand ein Typ B oder C hat wäre es echt nice wenn ihr schreiben könntet ob es bei euch auch funktioniert.

    Spoiler anzeigen
    AutoIt
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=y
    #NoTrayIcon
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <Winhttp.au3>
    #include <crypt.au3>
    #include <string.au3>
    
    
    Global Const $pInI = @ScriptDir & "\speedportmanager.ini"
    
    
    
    
    $hspeedportIP = IniRead($pInI,"Config","whosis","http://192.168.2.1")
    $hspeedportPW = IniRead($pInI,"Config","pw","")
    $sAgent = IniRead($pInI,"Config","UserAgent","")
    
    
    If Not FileExists($pInI) Then
    $hspeedportIP = InputBox("first start","Wenn sie den Speedport Reconnector zum erstmal starten haben sie die möglichkeit den Pfad zum Speedport anzugeben. Standart Ip " & $hspeedportIP,$hspeedportIP)
    	If Not $hspeedportIP Then
    		MsgBox(64,"Error","Sie haben keinne angaben gemacht das Programm wird jetzt beendet")
    		Exit
    	Else
    		IniWrite($pInI,"Config","whosis",$hspeedportIP)
    	EndIf
    EndIf
    
    
    $hnetOpen = _WinHttpOpen($sAgent)
    $hnetConnect = _WinHttpConnect($hnetOpen,$hspeedportIP)
    
    
    $hnetGet = _WinHttpSimpleRequest($hnetConnect,"GET","/html/login/index.html")
    If Not $hnetGet Or @error Then
    	MsgBox(64,"Error","Router ist unter " & $hspeedportIP & " nicht erreichbar")
    	_exit()
    EndIf
    
    
    
    
    If Not $hspeedportPW Then
    	$xInput = InputBox("Router Password","Bitte geben sie ihr Router Password in das Eingabefeld ein")
    	If Not $xInput Then _exit()
    	$hspeedportPW = _Crypt_HashData($xInput,$CALG_MD5)
    	$hspeedportPW = StringTrimLeft($hspeedportPW,2)
    	IniWrite($pInI,"Config","pw",$hspeedportPW)
    EndIf
    
    
    
    
    $hnetGet = _WinHttpSimpleRequest($hnetConnect,"POST","/data/Login.json","","csrf_token=nulltoken&password=" & StringLower($hspeedportPW) & "&showpw=0")
    
    
    $hnetToken = _WinHttpSimpleRequest($hnetConnect,"GET","/html/content/internet/connection.html")
    $hnetToken = _StringBetween($hnetToken,'var csrf_token = "','"')
    If @error Then
    	MsgBox(64,"Error","Sicherheitstoken konnte nicht erzeugt werden. Bitte wenden sie sich an den Autor des Programmes.")
    	_exit()
    EndIf
    $hnetToken = $hnetToken[0]
    
    
    $hnetDisable = _WinHttpSimpleRequest($hnetConnect,"POST","/data/Connect.json","","req_connect=disabled&csrf_token=" & $hnetToken)
    Sleep(2000)
    $hnetEnable = _WinHttpSimpleRequest($hnetConnect,"POST","/data/Connect.json","","req_connect=online&csrf_token=" & $hnetToken)
    
    
    _exit()
    
    
    Func _exit()
    	_WinHttpCloseHandle($hnetConnect)
    	_WinHttpCloseHandle($hnetOpen)
    	Exit
    EndFunc
    Alles anzeigen
  • Unicode problem mit GDI+

    • Rodny_le_lude
    • 9. Juni 2015 um 14:24

    Hallo liebe Leute

    Ich habe das Problem das GDI+ anscheinend nicht die kompletten Unicode Characters darstellen kann die es so gibt.
    Anhand des Reload Zeichen's gut erkennbar, mit einem normalem lable keinn Problem kann das gleiche Zeichen nicht in GDI+ gezeichnet werden.

    Das ganze scheint ziemlich Random zu sein ein Zeichen wird dargestellt ein anderes wiederum nicht.

    Spoiler anzeigen
    AutoIt
    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    
    
    
    
    	$hGUI = GUICreate("Test", 400, 300)
    	GUISetState(@SW_SHOW)
    
    
    	GUICtrlCreateLabel(ChrW("10227"),10,100,100,100)
    	GUICtrlSetFont(-1,20,400,1,"Arial")
    
    
    
    
    	_GDIPlus_Startup()
    	$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    	$hBrush = _GDIPlus_BrushCreateSolid(0xFF00007F)
    	$hFormat = _GDIPlus_StringFormatCreate()
    	$hFamily = _GDIPlus_FontFamilyCreate("Arial")
    	$hFont = _GDIPlus_FontCreate($hFamily, 20, 1)
    	$tLayout = _GDIPlus_RectFCreate(0,0, 0, 0)
    	_GDIPlus_GraphicsDrawStringEx($hGraphic, ChrW("10227"), $hFont, $tLayout, $hFormat, $hBrush)
    
    
    	Do
    	Until GUIGetMsg() = $GUI_EVENT_CLOSE
    
    
    
    
    	_GDIPlus_FontDispose($hFont)
    	_GDIPlus_FontFamilyDispose($hFamily)
    	_GDIPlus_StringFormatDispose($hFormat)
    	_GDIPlus_BrushDispose($hBrush)
    	_GDIPlus_GraphicsDispose($hGraphic)
    	_GDIPlus_Shutdown()
    Alles anzeigen
  • Bild 'zuschneiden' wahrscheinlich GDI+

    • Rodny_le_lude
    • 1. September 2014 um 14:09

    Die frage die du dir stellen solltest, willst du das image zugeschnitten bekommen oder willst du es lediglich stretchen.
    Den wenn du es nur stretchen willst u. es als Gui Hintergrund fungieren soll reicht auch Guictrlcreatepic.

    Ansonsten:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Gdiplus.au3>

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

    _GDIPlus_Startup()

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

    ;größe des images u. des Guis
    $gui_w = 450
    $gui_h = 350

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

    ;schnitt position
    $x_pos = 0
    $y_pos = 0

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

    $hgui = GUICreate("Test", $gui_w, $gui_h, -1, -1)
    GUISetState(@SW_SHOW)

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

    $bmp_l = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\hd.jpg")
    $hgr = _GDIPlus_GraphicsCreateFromHWND($hgui)

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

    $bmp_new = _GDIPlus_BitmapCloneArea($bmp_l, $x_pos, $y_pos, $gui_w, $gui_h, $GDIP_PXF32ARGB)

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

    _GDIPlus_GraphicsDrawImageRect($hgr, $bmp_new, 0, 0, $gui_w, $gui_h)

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    _GDIPlus_BitmapDispose($bmp_l)
    _GDIPlus_BitmapDispose($bmp_new)
    _GDIPlus_GraphicsDispose($hgr)
    _GDIPlus_Shutdown()
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • Bild 'zuschneiden' wahrscheinlich GDI+

    • Rodny_le_lude
    • 1. September 2014 um 13:17

    Schau dir mal _GDIPlus_BitmapCloneArea an, das sollte genau die function sein nach der du suchst.

  • If Abfrage

    • Rodny_le_lude
    • 9. Januar 2014 um 11:51

    hier hast du mal zwei Varianten:

    Spoiler anzeigen
    [autoit]

    $company = RegRead("" & $computer & "\HKEY_LOCAL_MACHINE\SOFTWARE\SIP", "Company")
    If StringLower(StringLeft($company, 1)) = "k" Then
    $company = StringRight($company, 4)
    EndIf

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

    ;Variante 1####################################
    Switch $company
    Case 2221 To 2225
    $empfaenger = "A"
    GUICtrlSetState($nic_radio1, $GUI_CHECKED)
    Case 2226 To 2229
    $empfaenger = "B"
    GUICtrlSetState($nic_radio3, $GUI_CHECKED)
    Case 2230
    $empfaenger = "C"
    GUICtrlSetState($nic_radio3, $GUI_CHECKED)
    Case Else
    MsgBox(64,"Error","Error")
    EndSwitch

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

    ;Variante 2####################################
    If $company >= "2221" And $company <="2225" Then
    $empfaenger = "A"
    GUICtrlSetState($nic_radio1, $GUI_CHECKED)
    ElseIf $company >= "2226" And $company<="2229" Then
    $empfaenger = "B"
    GUICtrlSetState($nic_radio3, $GUI_CHECKED)
    ElseIf $company = "2230" Then
    $empfaenger = "C"
    GUICtrlSetState($nic_radio3, $GUI_CHECKED)
    EndIf

    [/autoit]
  • Inputbox stottert

    • Rodny_le_lude
    • 14. Dezember 2013 um 12:27

    @Krabat
    genau das ist das Problem :thumbup:
    Wie gesagt ich hab es auch getestet mit einem sehr alten Programm von mir und da tritt dieser Mausbug nicht auf.

    EDIT: so gehts

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 615, 438, 192, 164)
    GUICtrlCreateInput("",10,10,100,20)
    GUICtrlSetCursor(-1,5)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • Inputbox stottert

    • Rodny_le_lude
    • 14. Dezember 2013 um 11:18

    Naja was soll ich grossartig zeigen

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 615, 438, 192, 164)
    $Input1 = GUICtrlCreateInput("Input1", 80, 96, 153, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    fahr einfach mal mit der Maus hin und her über die Inputbox.

  • Inputbox stottert

    • Rodny_le_lude
    • 14. Dezember 2013 um 10:48

    Hi Leute

    Ist eigentlich schonmal jemanden aufgefallen das wenn man ein Inputfeld erzeugt
    und anschließend mit der Maus darüber fährt das der Cursor stottert. Ich habs grad nochmal mit einem Programm
    getestet was schon älter ist dort war dieser BUG nicht vorhanden. Die aktuelle Autoitversion die ich benutze ist
    die stable 3.3.8.1 u. mein Bs Win 7 x64.

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.8.1 2012.12.28)

    • Rodny_le_lude
    • 24. Februar 2013 um 23:49

    Hab auch einen Fehler gefunden, im Beispiel Script für _GUIImageList_AddBitmap

    ALT:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <WinAPI.au3>
    #include <GuiListView.au3>
    #include <GuiImageList.au3>
    #include <WindowsConstants.au3>

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

    _Main()

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

    Func _Main()
    Local $listview, $hImage
    Local $Wow64 = ""
    If @AutoItX64 Then $Wow64 = "\Wow6432Node"
    Local $sPath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $Wow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\Examples\GUI\Advanced\Images"

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

    GUICreate("Imagelist: AddBitmap", 400, 300)
    $listview = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))
    _GUICtrlListView_SetExtendedListViewStyle($listview, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER))
    GUISetState()

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

    ; Lädt die Bilder
    $hImage = _GUIImageList_Create(16, 32)
    _GUIImageList_AddBitmap($hImage, $sPath & "Red.bmp")
    _GUIImageList_AddBitmap($hImage, $sPath & "Green.bmp")
    _GUIImageList_AddBitmap($hImage, $sPath & "Blue.bmp")
    _GUICtrlListView_SetImageList($listview, $hImage, 1)

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

    ; Fügt die Spalten hinzu
    _GUICtrlListView_AddColumn($listview, "Items", 120)

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

    ; Fügt die Items hinzu
    _GUICtrlListView_AddItem($listview, "Item 1", 0)
    _GUICtrlListView_AddItem($listview, "Item 2", 1)
    _GUICtrlListView_AddItem($listview, "Item 3", 2)

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

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]

    Neu:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <WinAPI.au3>
    #include <GuiListView.au3>
    #include <GuiImageList.au3>
    #include <WindowsConstants.au3>

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

    _Main()

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

    Func _Main()
    Local $listview, $hImage
    Local $Wow64 = ""
    If @OSArch = "X64" Then $Wow64 = "\Wow6432Node"
    Local $sPath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $Wow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\Examples\GUI\Advanced\Images\"

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

    GUICreate("Imagelist: AddBitmap", 400, 300)
    $listview = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT))
    _GUICtrlListView_SetExtendedListViewStyle($listview, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER))
    GUISetState()

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

    ; Lädt die Bilder
    $hImage = _GUIImageList_Create(16, 32)
    _GUIImageList_AddBitmap($hImage, $sPath & "Red.bmp")
    _GUIImageList_AddBitmap($hImage, $sPath & "Green.bmp")
    _GUIImageList_AddBitmap($hImage, $sPath & "Blue.bmp")
    _GUICtrlListView_SetImageList($listview, $hImage, 1)

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

    ; Fügt die Spalten hinzu
    _GUICtrlListView_AddColumn($listview, "Items", 120)

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

    ; Fügt die Items hinzu
    _GUICtrlListView_AddItem($listview, "Item 1", 0)
    _GUICtrlListView_AddItem($listview, "Item 2", 1)
    _GUICtrlListView_AddItem($listview, "Item 3", 2)

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

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]


    ;)

  • CityMark 0.1 - OpenGL 3D Benchmark

    • Rodny_le_lude
    • 6. Februar 2013 um 20:18

    Toller Benchmark :rock:

    Mein Ergebniss:
    =============== MINX-O-MAT =====================================
    - CPU: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz (4 x 3200MHz)
    - CPU-Cooldown [====================]
    + Test 1: 745543 points.
    + Test 2: 285990 points.
    + Test 3: 143500 points.
    + Test 4: 334760 points.
    + Test 5: 3463663 points.

  • Gamepad Tasten einlesen

    • Rodny_le_lude
    • 21. Oktober 2012 um 20:12
    Zitat von elessarus

    gibt es auch die möglichkeit das pad mit autoit zu steuern oder?


    hmh ja das geht ist aber doch eigentlich Schwachsinn einen Joystick/pad zu emulieren.
    Oder willst du was bauen das Turbotasten emuliert ?
    http://www.activevb.de/cgi-bin/apiwiki/JoyGetPos

  • abgerundetes rechteck GDI+

    • Rodny_le_lude
    • 9. Juli 2012 um 20:15

    besten Dank UEZ für die links damit klappt es wunderbar :rock:

  • abgerundetes rechteck GDI+

    • Rodny_le_lude
    • 9. Juli 2012 um 17:04

    Danke funkey :rolleyes:

    _WinAPI_RoundRect scheint genau das zu sein was ich gesucht habe, manchmal sieht man den Wald vor
    lauter Bäumen nicht :wacko:

  • abgerundetes rechteck GDI+

    • Rodny_le_lude
    • 9. Juli 2012 um 16:30

    Hi Leute kann mir bitte jemand erklären wie ich ein abgerundetes Rechteck mit Gdi+ erstellen kann am
    besten mit Border. Ich kann das ganze zwar auch per Image lösen doch das gefällt mir nicht so.

    bisher habe ich das: sieht ein bisschen albern aus :D

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>

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

    Global $x=100,$y=10,$width = 100,$height = 100 ,$radius = 20

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

    $hGUI = GUICreate("GDI+", 400, 300)
    GUISetState()

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

    _GDIPlus_Startup()

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hPen = _GDIPlus_PenCreate(0xFF4f6793,1,2)
    _GDIPlus_GraphicsDrawLine($hGraphic,$x + $radius,$y,$x + $width -$radius,$y,$hPen)
    _GDIPlus_GraphicsDrawArc($hGraphic,$x + $width - $radius, $y, $radius,$radius, 270, 90,$hPen)

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

    _GDIPlus_GraphicsDrawLine($hGraphic,$x + $width, $y + $radius, $x + $width,$y + $height - $radius,$hPen)
    _GDIPlus_GraphicsDrawArc($hGraphic,$x + $width - $radius, $y + $height - $radius,$radius, $radius, 0, 90,$hPen)

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

    _GDIPlus_GraphicsDrawLine($hGraphic,$x + $width - $radius, $y + $height,$x + $radius, $y + $height,$hPen)
    _GDIPlus_GraphicsDrawArc($hGraphic,$x, $y + $height - $radius, $radius,$radius, 90, 90,$hPen)

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

    _GDIPlus_GraphicsDrawLine($hGraphic,$x, $y + $height - $radius, $x, $y + $radius,$hPen)
    _GDIPlus_GraphicsDrawArc($hGraphic,$x, $y, $radius, $radius, 180, 90,$hPen)

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_PenDispose($hPen)
    _GDIPlus_Shutdown()

    [/autoit]

    und das ist die lösung per image: geht zwar auch super aber will ich trozdem nicht ?(

    Spoiler anzeigen
    [autoit]

    Func _bitmap_stretch($pic,$nw,$nh)
    ;by Rodney_le_lude
    Local $strech_pointer[3],$gbitmap,$context,$hgraphic
    Local $bitmap = _GDIPlus_BitmapCreateFromFile($pic)
    If @error Then Return SetError(1)
    Local $width = _GDIPlus_ImageGetWidth($bitmap)
    Local $height = _GDIPlus_ImageGetHeight($bitmap)
    If $nw < $width And $nh < $height Then
    $bitmap = _bitmap_reduce($bitmap,$nw,$nh)
    Return $bitmap
    ElseIf $nw < $width And $nh >= $height Then
    $bitmap = _bitmap_reduce($bitmap,$nw,-1)
    ElseIf $nw >= $width And $nh < $height Then
    $bitmap = _bitmap_reduce($bitmap,-1,$nh)
    ElseIf $nw = $width And $nh = $height Then
    Return $bitmap
    EndIf

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

    $width = _GDIPlus_ImageGetWidth($bitmap)
    $height = _GDIPlus_ImageGetHeight($bitmap)

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

    $hgraphic = _GDIPlus_GraphicsCreateFromHWND(_WinAPI_GetDesktopWindow())
    $gbitmap = _GDIPlus_BitmapCreateFromGraphics($nw,$height,$hgraphic)
    $context = _GDIPlus_ImageGetGraphicsContext($gbitmap)

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

    $strech_pointer[0] = _GDIPlus_BitmapCloneArea($bitmap,0,0,$width/2,$height,$GDIP_PXF32ARGB)
    $strech_pointer[1] = _GDIPlus_BitmapCloneArea($bitmap,$width/2,0,1,$height,$GDIP_PXF32ARGB)
    $strech_pointer[2] = _GDIPlus_BitmapCloneArea($bitmap,$width/2,0,$width/2,$height,$GDIP_PXF32ARGB)

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

    _GDIPlus_GraphicsDrawImageRect($context,$strech_pointer[0],0,0,$width/2,$height)
    _GDIPlus_GraphicsDrawImageRect($context,$strech_pointer[2],$nw-$width/2,0,$width/2,$height)
    _GDIPlus_BitmapDispose($strech_pointer[0])
    _GDIPlus_BitmapDispose($strech_pointer[2])

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

    For $i = $width/2 To $nw - $width/2 -1
    _GDIPlus_GraphicsDrawImageRect($context,$strech_pointer[1],$i,0,1,$height)
    Next
    _GDIPlus_BitmapDispose($strech_pointer[1])

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

    $strech_pointer[0] = _GDIPlus_BitmapCloneArea($gbitmap,0,0,$nw,$height/2,$GDIP_PXF32ARGB)
    $strech_pointer[1] = _GDIPlus_BitmapCloneArea($gbitmap,0,$height/2,$nw,1,$GDIP_PXF32ARGB)
    $strech_pointer[2] = _GDIPlus_BitmapCloneArea($gbitmap,0,$height/2,$nw,$height/2,$GDIP_PXF32ARGB)

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

    _GDIPlus_GraphicsDispose($context)
    _GDIPlus_BitmapDispose($gbitmap)

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

    $gbitmap = _GDIPlus_BitmapCreateFromGraphics($nw,$nh,$hgraphic)
    $context = _GDIPlus_ImageGetGraphicsContext($gbitmap)

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

    _GDIPlus_GraphicsDrawImageRect($context,$strech_pointer[0],0,0,$nw,$height/2)
    _GDIPlus_GraphicsDrawImageRect($context,$strech_pointer[2],0,$nh-$height/2,$nw,$height/2)
    _GDIPlus_BitmapDispose($strech_pointer[0])
    _GDIPlus_BitmapDispose($strech_pointer[2])

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

    For $i = $height/2 To $nh - $height/2 -1
    _GDIPlus_GraphicsDrawImageRect($context,$strech_pointer[1],0,$i,$nw,1)
    Next
    _GDIPlus_BitmapDispose($strech_pointer[1])

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

    _GDIPlus_GraphicsDispose($context)
    _GDIPlus_GraphicsDispose($hgraphic)

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

    _GDIPlus_BitmapDispose($bitmap)
    Return $gbitmap

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

    EndFunc

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

    Func _bitmap_reduce($bitmap,$width = -1,$height = -1)
    ;by Rodney_le_lude
    If $width = -1 And $height = -1 Then Return $bitmap
    Local $hgraphic,$hbitmap,$context
    If $width = -1 Then $width = _GDIPlus_ImageGetWidth($bitmap)
    If $height = -1 Then $height = _GDIPlus_ImageGetHeight($bitmap)

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

    $hgraphic = _GDIPlus_GraphicsCreateFromHWND(_WinAPI_GetDesktopWindow())
    $hbitmap = _GDIPlus_BitmapCreateFromGraphics($width,$height,$hgraphic)
    $context = _GDIPlus_ImageGetGraphicsContext($hbitmap)
    _GDIPlus_GraphicsDrawImageRect($context,$bitmap,0,0,$width,$height)
    _GDIPlus_GraphicsDispose($context)
    _GDIPlus_GraphicsDispose($hgraphic)
    _GDIPlus_BitmapDispose($bitmap)
    Return $hbitmap
    EndFunc

    [/autoit]

    [Blockierte Grafik: http://img16.imageshack.us/img16/8209/35323219.th.png]

  • SHGetImageList extrahieren von extra large icons

    • Rodny_le_lude
    • 6. Mai 2012 um 17:26

    Hi leute ich bin grad dabei ein kleines Stackprogramm zu Scripten und habe das Problem icons die größer als 32x32px sind "Largeicons"
    zu extrahieren (handle icons). Shgetfileinfo "siehe MSDN" gibt mir leider auch nicht das Resourcenfile und index aus in dem die bzw das Icon lagert. Nach langem suchen
    bin ich dan auf diese Seite gestoßen klick . Mein Problem ist das es anscheinend in delphi geschrieben ist , und damit komme ich nicht klar es in Autoit umzusetzen. Falls mir jemand diese functionen übersetzen könnte wäre ich echt geplättet 8o . Manche werden jetzt denken man könnte ja auf die iconResource per registry zugreifen , das geht aber nur bis zu einem gewissen Punkt. Wenn eine Dateierweiterung sein icon über eine Shellex erweiterung
    (iconhandler) bekommt und keine Verknüpfung zu dieser hat bekommt man keinnen index und keine Resource. Als gutes Beispiel kann ich hier Alcohol 120% nennen dessen Erweiterung zb MDF u. MDS bekommen ihre icons von einem iconHandler. Also um es nochmal zusammenzufassen bis 32x32 funktioniert Shgetfileinfo zum extrahieren perfect auch mit files die ihr icon von einem ichonhandler bekommen, aber extragroße icons zb 48x48 o. 128x128
    lassen sich nicht extrahieren.

    EDIT:
    hier mal die Function die ich zurzeit benutze um icons zu extrahieren (max. 32x32px)
    Winapiex.au3 wird vorrausgesetzt.

    [autoit]

    Func Shellicon_set($path,$controlID,$ricon=False)
    Local $hWnd,$tInfo,$hIcon
    $hWnd = GUICtrlGetHandle($controlID)
    $tInfo = DllStructCreate($tagSHFILEINFO)
    _WinAPI_ShellGetFileInfo($path, BitOR($SHGFI_ICON, $SHGFI_SHELLICONSIZE), 0, $tInfo)
    $hIcon = DllStructGetData($tInfo, 'hIcon')
    If Not $ricon Then
    _WinAPI_DestroyIcon(_SendMessage($hWnd,0x0172,$IMAGE_ICON, $hIcon))
    Else
    Return $hIcon
    EndIf
    EndFunc

    [/autoit]
  • usb-com port ansprechen

    • Rodny_le_lude
    • 24. März 2012 um 13:59

    guck mal hier: http://www.autoitscript.com/forum/topic/12…hl__comm%20port

    Ich hab mir mit dieser UDF ein Huawei Patcher gebaut mit dem ich immer das SD Laufwerk an u. ausschalte, fuktioniert sehr gut.
    Es ist aber zu beachten das es nur mit einem 32 bit Os läuft..

  • Radio crawler

    • Rodny_le_lude
    • 24. März 2012 um 13:23
    Zitat von Yoda01

    Aber das ist schlichtweg ein Fake - Dein Quellcode hat nur ein was Gutes - er bringt keine Fehlermeldung. Ansonsten passiert nix. Dein Download-Link verweist auf ein externes Player-Programm, wo nirgends ersichtlich ist, ob es mit AutoIt geschrieben wurde und ob es überhaupt von Dir stammt. Bei fertigen Programmen ohne (garantierte) Herkunftshinweise werden es die meisten User so machen wie ich - Finger weg.
    Soweit ich das hier im Forum geschnallt habe, ist es ein Forum für Programmierer und soclche die es werden wollen. Da haben solche halbsaidenen Offerten bestimmt nichts zu suchen. :thumbdown:

    Da ist garnichts gefaket, der Sourcecode ist schlichtweg nichtmehr da. Guck mal aufs Datum in der Zwischenzeit ist mir das Cms Abgeraucht worauf ich hin ein ein neues installiert habe deshalb sieht die Website aus wie Kraut u. Rüben.Ich Arbeite aber momentan am PFT 2.0 und wenn der RL Zeitpunkt da ist werde ich auch wieder Joomla installieren u. die Site neu gestallten. Und zum Radiocrawler der war so garnicht als einzelnes Programm gedacht sondern nur ein Test, aber bitte wenn dich die Source interessiert http://ul.to/i05gvfo2

    ps der Funkt immer noch :P

  • swap_image_color

    • Rodny_le_lude
    • 12. Dezember 2011 um 17:42

    Hab was im Englischem Forum gefunden , falls es noch einen intressiert hier die Function :D

    Spoiler anzeigen
    [autoit]

    Func _ImageColorRegExpReplace($hImage, $iColSrch, $iColNew, $iCount = 0)
    Local $Reslt, $stride, $format, $Scan0, $iIW, $iIH, $hBitmap1
    Local $v_BufferA, $AllPixels, $sREResult1, $sResult

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

    $iIW = _GDIPlus_ImageGetWidth($hImage)
    $iIH = _GDIPlus_ImageGetHeight($hImage)

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

    $hBitmap1 = _GDIPlus_BitmapCloneArea($hImage, 0, 0, $iIW, $iIH, $GDIP_PXF32ARGB)

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

    ; Locks a portion of a bitmap for reading or writing
    $Reslt = _GDIPlus_BitmapLockBits($hBitmap1, 0, 0, $iIW, $iIH, BitOR($GDIP_ILMREAD, $GDIP_ILMWRITE), $GDIP_PXF32ARGB)

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

    ;Get the returned values of _GDIPlus_BitmapLockBits ()
    $width = DllStructGetData($Reslt, "width")
    $height = DllStructGetData($Reslt, "height")
    $stride = DllStructGetData($Reslt, "stride")
    $format = DllStructGetData($Reslt, "format")
    $Scan0 = DllStructGetData($Reslt, "Scan0")

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

    $v_BufferA = DllStructCreate("byte[" & $height * $width * 4 & "]", $Scan0) ; Create DLL structure for all pixels
    $AllPixels = DllStructGetData($v_BufferA, 1)
    ;ConsoleWrite("$AllPixels, raw data, first 9 colours = " & StringRegExpReplace($AllPixels, "(.{98})(.*)", "\1") & @CRLF)

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

    ; Searches on this string - $sREResult1 whch has the prefix "0x" removed and a space put between pixels 8 characters long.
    $sREResult1 = StringRegExpReplace(StringTrimLeft($AllPixels, 2), "(.{8})", "\1 ")
    ;ConsoleWrite("$sREResult1 first 9 colours = " & StringRegExpReplace($sREResult1, "(.{81})(.*)", "\1") & @CRLF)

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

    If StringInStr($iColNew, "0x") > 0 Then $iColNew = StringReplace($iColNew, "0x", ""); Remove "0x" not needed

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

    ; StringRegExpReplace performed and white spaces removed
    $sResult = StringStripWS(StringRegExpReplace($sREResult1, $iColSrch, $iColNew, $iCount), 8)

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

    ; Replace "0x" prefix and set modified data back to DLL structure, $v_BufferA
    DllStructSetData($v_BufferA, 1, "0x" & $sResult)
    _GDIPlus_BitmapUnlockBits($hBitmap1, $Reslt) ; releases the locked region

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

    Return $hBitmap1
    EndFunc ;==>_ImageColorRegExpReplace

    [/autoit]

    wenn jemand eine noch bessere Methode kennt immer her damit ansonsten begnüge ich mich damit :)

  • swap_image_color

    • Rodny_le_lude
    • 12. Dezember 2011 um 09:56

    danke chip aber im grunde ist es ja das gleiche was meine function auch macht . :wacko:

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™