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

Beiträge von UEZ

  • Code Optimierungsvorschläge

    • UEZ
    • 13. März 2013 um 21:29

    Hmm, da bringst du mich auf eine Idee. Ist es möglich ein 1bit Bild mit GDI+ und den Pathes schneller auszulesen und in der GUI darzustellen anstelle des Arrays?

    Gruß,
    UEZ

  • Code Optimierungsvorschläge

    • UEZ
    • 13. März 2013 um 13:55

    Hi Leute,

    hat jemand eine Idee, wie ich den Code beschleunigen kann. Ich dachte z.B. an ASM oder FreeBasic!
    Und zwar gibt es in der _WinAPI_GuiImageHole() Funktion eine Schleife, die relativ lange braucht, das Bild zu erstellen.

    Hier der Code: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Danke und Gruß,
    UEZ

  • Dominierende Farbe in Bitmap berechnen

    • UEZ
    • 12. März 2013 um 20:27

    Probiere es mal damit: GDI+ Show Histogram v0.97 beta build 2013-02-05

    Gruß,
    UEZ

  • _gdiplus_graphicsdrawimagerect / .png vergrössern unscharf

    • UEZ
    • 8. März 2013 um 14:30
    [autoit]


    DllCall($ghGDIPDll, "uint", "GdipSetInterpolationMode", "handle", $hGfxContext, "int", 5)

    [/autoit]

    ist dein Freund, wobei $hGfxContext dein GraphicContext sein sollte.

    Gruß,
    UEZ

  • Darstellungsprobleme mit GDI+ und skalierbarer GUI

    • UEZ
    • 7. März 2013 um 23:16

    Teste mal dies:

    Spoiler anzeigen
    [autoit]


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

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

    Opt("GUIOnEventMode", 1)
    Global $iW = 500, $iH = 500
    $hGUI = GUICreate("test", $iW, $iH,-1,-1, $WS_SIZEBOX)
    GUISetState()

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

    GUISetOnEvent ($GUI_EVENT_CLOSE, "_Exit", $hGUI)
    GUIRegisterMsg ($WM_SIZE, "WM_SIZE")

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

    _GDIPlus_Startup()
    $hHBitmap = _ScreenCapture_Capture("", 0, 0, $iW, $iH)
    $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hHBitmap)

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

    Global Const $iYCaption = _WinAPI_GetSystemMetrics($SM_CYSIZE), $iYFixedFrame = _WinAPI_GetSystemMetrics(8) ;8 = $SM_CYFIXEDFRAME
    $iDHeight = $iYCaption + $iYFixedFrame

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

    GUIRegisterMsg($WM_ERASEBKGND, "WM_ERASEBKGND")
    _WinAPI_RedrawWindow($hGUI)

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

    While (1)
    Sleep (1000)
    WEnd

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

    Func WM_SIZE()
    Local $aWidth = WinGetClientSize($hGUI)
    $iW = $aWidth[0]
    $iH = $aWidth[1] + $iDHeight
    Return "GUI_RUNDEFMSG"
    EndFunc

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

    Func WM_ERASEBKGND($hWnd, $Msg, $wParam, $lParam)
    #forceref $hWnd, $Msg, $lParam
    Local $hGraphicsTemp = _GDIPlus_GraphicsCreateFromHDC($wParam)
    DllCall($ghGDIPDll, "uint", "GdipSetInterpolationMode", "handle", $hGraphicsTemp, "int", 1)
    _GDIPlus_GraphicsDrawImageRect($hGraphicsTemp, $hBitmap, 0, 0, $iW, $iH)
    _GDIPlus_GraphicsDispose($hGraphicsTemp)
    Return True
    EndFunc ;==>_WM_ERASEBKGND

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

    Func _Exit()
    GUIRegisterMsg($WM_ERASEBKGND, "")
    _GDIPlus_GraphicsDispose($hBitmap)
    _WinAPI_DeleteObject($hHBitmap)
    _GDIPlus_Shutdown ()
    GUIDelete()
    Exit
    EndFunc

    [/autoit]

    Gruß,
    UEZ

  • Group , welche auf einer GUI mit schwarzem Hintergrund ist, verleiht jedem Label oder anderer Schrift (in diesem Fall Radio Buttons) schwarz.

    • UEZ
    • 7. März 2013 um 20:49

    Probiere es mal damit:

    Spoiler anzeigen
    [autoit]


    #include <GuiConstantsEx.au3>

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

    $Form2 = GUICreate("Form", 405, 294, 287, 167)
    GUISetBkColor(0x000000)
    $Group1 = GUICtrlCreateGroup("Gruppe", 40, 40, 241, 193)
    GUICtrlSetColor(-1, 0x00FF00)
    $Radio1 = GUICtrlCreateRadio("Radio1", 64, 88, 113, 17)
    GUICtrlSetColor(-1, 0x00FF00)
    $Radio2 = GUICtrlCreateRadio("Radio2", 64, 120, 113, 17)
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($Group1), "wstr", 0, "wstr", 0)
    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($Radio1), "wstr", 0, "wstr", 0)
    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($Radio2), "wstr", 0, "wstr", 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

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

    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]

    Gruß,
    UEZ

  • $SES_PASSWORD Text zeigen aber nicht das Passwort?

    • UEZ
    • 5. März 2013 um 13:52

    @m-obi: viele Wege führen nach Rom und das es mit WM_COMMAND nicht geht, wollte ich nicht glauben. ;) Und außerdem wo bleibt da der Spaß?

    Dass es mit EM_SETCUEBANNER einfacher geht, wusste ich nicht. :) Jetzt weiß ich's.

    Gruß,
    UEZ

  • $SES_PASSWORD Text zeigen aber nicht das Passwort?

    • UEZ
    • 5. März 2013 um 11:03

    Probiere dieses mal aus:

    Spoiler anzeigen
    [autoit]


    ;coded by UEZ 2013
    #include <EditConstants.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    Opt("MustDeclareVars", 1)

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

    Global $sInputText = "Bitte Passwort eingeben"
    Global $sInputIP = "IP Adresse"
    Global Const $hGUI = GUICreate("Password", 329, 116)
    Global Const $idLabelHeadline = GUICtrlCreateLabel("VNC Starter", 110, 10, 150)
    GUICtrlSetFont(-1, 18, 400, 0, "Arial", 4)
    Global Const $idLabelIP = GUICtrlCreateLabel("IP Adr.", 30, 54, 44, 29)
    Global Const $idInputIP = GUICtrlCreateInput($sInputIP, 68, 52, 151, 21)
    GUICtrlSetColor(-1, 0xA0A0A0)
    Global Const $hInputIP = GUICtrlGetHandle($idInputIP)
    Global Const $idLabelPWD = GUICtrlCreateLabel("Passwort:", 18, 84, 44, 19)
    Global Const $idInputPWD = GUICtrlCreateInput($sInputText, 68, 82, 151, 21)
    GUICtrlSetColor(-1, 0xA0A0A0)
    Global Const $hInputPWD = GUICtrlGetHandle($idInputPWD)
    Global Const $idButtonGO = GUICtrlCreateButton("Start VNC", 241, 80, 75, 25)
    ControlFocus($hGUI, "", $idLabelPWD)
    GUISetState(@SW_SHOW)

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

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUIRegisterMsg($WM_COMMAND, "")
    GUIDelete()
    Exit
    Case $idButtonGO
    If Not IPChk(GUICtrlRead($idInputIP)) Then
    MsgBox(16, "FEHLER", "Bitte IP Adresse überprüfen!", 30)
    ContinueLoop
    EndIf
    If GUICtrlRead($idInputPWD) = "" Or GUICtrlRead($idInputPWD) = $sInputText Then
    MsgBox(16, "FEHLER", "Passwort ist gleich '" & $sInputText & "'", 30)
    ContinueLoop
    EndIf
    GUIRegisterMsg($WM_COMMAND, "")
    vncstart(GUICtrlRead($idInputIP), GUICtrlRead($idInputPWD))
    GUIDelete()
    Exit
    EndSwitch
    WEnd

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

    Func IPChk($sIP)
    Local $sRegExPattern = _
    "^([01]?\d\d?|2[0-4]\d|25[0-5])\." & _
    "([01]?\d\d?|2[0-4]\d|25[0-5])\." & _
    "([01]?\d\d?|2[0-4]\d|25[0-5])\." & _
    "([01]?\d\d?|2[0-4]\d|25[0-5])$"
    Local $a = StringRegExp($sIP, $sRegExPattern, 3)
    If @error Then Return 0
    Return 1
    EndFunc

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

    Func vncstart($sIP, $sPwd)
    ShellExecute("C:\Programme\RealVNC\VNC Viewer\vncviewer.exe")
    WinActivate("VNC Viewer")
    Sleep(200)
    Send($sIP & "{Enter}")
    WinWaitActive("VNC Viewer - Authentication")
    Sleep(150)
    Send($sPwd & "{Enter}")
    EndFunc ;==>vncstart

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

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg
    Local $iIDFrom = _WinAPI_LoWord($iwParam)
    Local $iCode = _WinAPI_HiWord($iwParam)
    Switch $ilParam
    Case $hInputPWD
    Switch $iCode
    Case $EN_KILLFOCUS
    If GUICtrlRead($iIDFrom) = "" Then
    GUICtrlSendMsg($iIDFrom, $EM_SETPASSWORDCHAR, 0, 0)
    GUICtrlSetData($iIDFrom, $sInputText)
    GUICtrlSetColor($iIDFrom, 0xA0A0A0)
    EndIf
    Case $EN_SETFOCUS
    GUICtrlSetColor($iIDFrom, 0)
    GUICtrlSetData($iIDFrom, "")
    GUICtrlSendMsg($iIDFrom, $EM_SETPASSWORDCHAR, 9679, 0)
    EndSwitch
    Case $hInputIP
    Switch $iCode
    Case $EN_KILLFOCUS
    If GUICtrlRead($iIDFrom) = "" Then
    GUICtrlSetData($iIDFrom, $sInputIP)
    GUICtrlSetColor($iIDFrom, 0xA0A0A0)
    EndIf
    Case $EN_SETFOCUS
    GUICtrlSetColor($iIDFrom, 0)
    If GUICtrlRead($iIDFrom) = "" Or GUICtrlRead($iIDFrom) = $sInputIP Then GUICtrlSetData($iIDFrom, "")
    EndSwitch
    EndSwitch
    Return "GUI_RUNDEFMSG"
    EndFunc ;==>WM_COMMAND

    [/autoit]

    Gruß,
    UEZ

  • [C“ 2013] The winners!

    • UEZ
    • 4. März 2013 um 13:08

    Das hört sich nicht "rosig" an.

    Ich komme auch nicht drauf!


    Gruß,
    UEZ

  • $SES_PASSWORD Text zeigen aber nicht das Passwort?

    • UEZ
    • 4. März 2013 um 12:58

    Am besten du zeigt uns dein Skript und wir können dann nach einer Lösung suchen.

    Gruß,
    UEZ

  • $SES_PASSWORD Text zeigen aber nicht das Passwort?

    • UEZ
    • 2. März 2013 um 21:01

    Probiere es mal damit:

    Spoiler anzeigen
    [autoit]


    ;coded by UEZ 2013
    #include <EditConstants.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    Opt("MustDeclareVars", 1)

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

    Global $sInputText = "Bitte Passwort eingeben"
    Global Const $hGUI = GUICreate("Password", 369, 46)
    Global Const $idInputPWD = GUICtrlCreateInput($sInputText, 68, 12, 151, 21)
    GUICtrlSetColor(-1, 0xA0A0A0)
    Global Const $hInputPWD = GUICtrlGetHandle($idInputPWD)
    Global Const $idLabelPWD = GUICtrlCreateLabel("Passwort:", 18, 14, 44, 19)
    Global Const $idButtonGO = GUICtrlCreateButton("GO", 286, 10, 75, 25)
    ControlFocus($hGUI, "", $idLabelPWD)
    GUISetState(@SW_SHOW)

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

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE, $idButtonGO
    GUIRegisterMsg($WM_COMMAND, "")
    Exit
    EndSwitch
    WEnd

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

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg
    Local $iIDFrom = _WinAPI_LoWord($iwParam)
    Local $iCode = _WinAPI_HiWord($iwParam)
    Switch $ilParam
    Case $hInputPWD
    Switch $iCode
    Case $EN_KILLFOCUS
    If GUICtrlRead($iIDFrom) = "" Then
    GUICtrlSendMsg($iIDFrom, $EM_SETPASSWORDCHAR, 0, 0)
    GUICtrlSetData($iIDFrom, $sInputText)
    GUICtrlSetColor($iIDFrom, 0xA0A0A0)
    EndIf
    Case $EN_SETFOCUS
    GUICtrlSetColor($iIDFrom, 0)
    GUICtrlSetData($iIDFrom, "")
    GUICtrlSendMsg($iIDFrom, $EM_SETPASSWORDCHAR, 9679, 0)
    EndSwitch
    EndSwitch
    Return "GUI_RUNDEFMSG"
    EndFunc ;==>WM_COMMAND

    [/autoit]

    Gruß,
    UEZ

  • Happy Birthday Eukalyptus & Developer30

    • UEZ
    • 2. März 2013 um 11:53

    Herzlichen Glückwunsch und alles Gute!

    @GDI+ Meister: lange nicht mehr aktiv!?!?!?


    Gruß,
    UEZ

  • Alternative zu rekursiver Funktion

    • UEZ
    • 25. Februar 2013 um 18:22

    Schaue mal hier nach: http://www.autoitscript.com/forum/topic/14…20#entry1045221

    Füllt eine Farbe in einem Bild iterativ. Kannst es ja entsprechend umbauen.

    Gruß,
    UEZ

  • Über die String-Dekompression

    • UEZ
    • 24. Februar 2013 um 18:14

    Ich bin völlig bei dir, wenn es darum geht, den Reiz am Coden zu erhalten! Aber in diesem Fall fand ich die Idee GDI+ zum Komprimieren zu benutzen, einfach genial. Erst mal auf diese Idee zu kommen, denn mir war die Idee noch "fremd".

    Ich würde diese Art (GDI+) zum komprimieren nicht benutzen, doch die Möglichkeit zu haben ist einfach faszinierend.

    Gruß,
    UEZ

  • Über die String-Dekompression

    • UEZ
    • 24. Februar 2013 um 16:17

    Ich finde die Idee einfach cool, wobei die Idee vielleicht nicht neu ist, aber die Implementierung ist sehr ansehnlich.

    Die Idee ist einfach, dass man nicht den "lahmen" AutoIt Interpreter nimmt, sondern Built-In Funktionen.

    Oben von mir das Beispiel mit der ntdll.dll und von trancexx die gdiplus.dll als Alternativen.

    Natürlich ist der Königsweg zum Komprimieren der von die genannte Weg, aber manchmal sind die alternativ Wege einfach nur genial...

    Gruß,
    UEZ

  • Über die String-Dekompression

    • UEZ
    • 24. Februar 2013 um 13:46

    Ein interessanter Ansatz ist hier zu sehen (von trancexx): http://www.autoitscript.com/forum/topic/14…ata-compression

    Und zwar wird die PNG Komprimierung benutzt, um Daten zu komprimieren. Clever!

    Gruß,
    UEZ

  • 2 Bilder übereinander legen

    • UEZ
    • 22. Februar 2013 um 18:14
    Zitat von Alcros

    was ist eigentlich der genaue Unterschied zwischen

    [autoit]

    _GDIPlus_BitmapCreateFromFile
    _GDIPlus_ImageLoadFromFile

    [/autoit]


    ?
    Bei meinen bisherigen Projekten funktioniert beides

    Schaue mal hier nach: http://www.autoitscript.com/forum/topic/14…e/#entry1032804

    Gruß,
    UEZ

  • Über die String-Dekompression

    • UEZ
    • 20. Februar 2013 um 21:47

    Wer Lust hat, kann ja mal hier rein schauen (siehe Anhang) - ist vom 7-Zip Entwickler.

    Zitat


    UEZ komprimiert in seinem Script übrigens bei LZNT in der höchsten Stufe, und das ist kompressionstechnisch kein Stück besser als das AutoIt-Pendant!!!

    Ist eben "nur" Built-In.

    Gruß,
    UEZ

    Dateien

    lzma922.7z 409,64 kB – 728 Downloads
  • Alles gute zum 26'ten, chip

    • UEZ
    • 19. Februar 2013 um 16:45

    Happy Birthday und alles Gute.

    Gruß,
    Ünal

  • Quizfrage (dt. Städte)

    • UEZ
    • 16. Februar 2013 um 10:37

    Haben die Städte was mit Politik zu tun?

    Gruß,
    UEZ

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™