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

Beiträge von DeepRed92

  • Hilfe Windows 7

    • DeepRed92
    • 20. April 2010 um 18:37
    Zitat

    Äh, ein Röhrenmonitor, der nur 1024x768 unterstützt? Ist das ein 14 Zöller?
    Wo gibt's denn noch solch antiken Kram? :D

    Nein 17 :whistling:
    Das Problem dabei ist, dass Vista (auch Xp und 7) irgendwie meinen Bildschirm + Marke usw. erkennt und die vorgeschriebene Auflösung als maximal-Wert übernimmt -.-

  • Hilfe Windows 7

    • DeepRed92
    • 20. April 2010 um 15:41

    Hallo,

    wenn ich auf meinem PC Windows 7 installiere und die Bildschirmauflösung wie immer auf 1152x864 stelle, ist das Bild total unscharf (Verschwommen). Auf Windows XP und Vista funktioniert dies aber einwandfrei. Liegt das daran, dass mein Monitor (Röhre) nur 1024x768 Pixel unterstützt? Unter Bildschirmaktualisierungsrate ist bei mir das Kästchen unter Win 7 grau und lässt sich nicht anklicken, was unter Xp und Vista super funzt?

    Weiß jemand, was ich dagegen tun kann? Evtl. Microsoft darüber informieren?

  • AutoItObject - OOP für AutoIt

    • DeepRed92
    • 19. April 2010 um 17:17
    Zitat

    Da können wir leider nicht viel machen. Die Object-Funktionen werden per DLLCallback aufgerufen, das anscheinend keine blockierenden GUIs erlaubt.

    Ok. Aber GUIs kann ich innerhalb dieser Funktionen erstellen oder?

  • AutoItObject - OOP für AutoIt

    • DeepRed92
    • 19. April 2010 um 17:05

    Hallo,

    mir ist heute ein Bug aufgefallen. Inerhalb der "Objekt Funktionen" (_AutoItObject_AddMethod($oO, "Dies", "_HierIch!!")) kann man die Funktion _ArrayDisplay nicht benutzen. Es erscheint zwar ein Fenster von _ArrayDisplay, aber jedoch ohne Controls. Dadurch stürzt das ganze Script ab ?( .

  • AutoItObject - OOP für AutoIt

    • DeepRed92
    • 19. April 2010 um 15:51

    Mhm danke. Aber das wird schon wieder zu kompliziert, wenn man 10 Objekte dabei erstellen muss ^^

  • AutoItObject - OOP für AutoIt

    • DeepRed92
    • 19. April 2010 um 15:47

    Ok, hab ein Beispiel gefunden.
    Was bringt mir das, wenn ich eine Klasse statt ein Objekt erzeuge? Ist beides nicht ungefähr das selbe?

    Noch eine Frage:
    Wie bekomme ich sowas hin?

    [autoit]

    $oObjekt.Application.Quit

    [/autoit]
  • Einzelne TabItems verstecken?

    • DeepRed92
    • 19. April 2010 um 15:46

    Hallo BugFix. Danke für Deine sehr ausführliche Antwort. Ich werde es mal ausrobieren. Nachteil daran ist jetzt aber wieder, dass nicht jeder Excel hat. Naja aber wenn das nicht anders geht, muss ich mich damit wohl abfinden :D :D

  • GUI mit Schatten

    • DeepRed92
    • 18. April 2010 um 18:31

    Hallo,

    ich hatte mal ein Script, wo einer GUI Schatten per Windows-Style hinzugefügt wurde. Also so: GUICreate("Bla", 100, 100, -1, -1, $WS_SCHATTEN)

    Weiß jemand, wie das nochmal ging?

  • Einzelne TabItems verstecken?

    • DeepRed92
    • 18. April 2010 um 18:11
    Zitat

    Mach es doch so, dass das TabItem nicht auswählbar ist (wenn es angeklickt wird, wird das NachbarItem aktiviert).
    Aber wieso willst du es überhaupt verstecken?

    Ich wollte neben 6 Tabs einen 7. anlegen, das so beschriftet ist: ">>". Klickt man da drauf, werden alle angezeigt. Also vorher sollen natürlich nur 2 Tabs sichtbar sein.

    Wisst Ihr, was ich meine?

  • Einzelne TabItems verstecken?

    • DeepRed92
    • 18. April 2010 um 14:11

    Hallo,

    ich versuche schon die ganze Zeit erfolglos, einzelne TabItems zu verstecken. Ich habs schon mit GUICtrlSetState($Tab, $GUI_HIDE) und ControlHide versucht, doch es funktioniert so nicht. Weiß jemand wie das genau gehen soll?

  • AutoItObject - OOP für AutoIt

    • DeepRed92
    • 18. April 2010 um 11:24

    Hallo,

    ich wollte mal fragen, was man mit der Funktion "_AutoItObject_Class" machen kann? Klassen erstellen? Wie soll das genau funktionieren?

    Erstelle ich damit eine Klasse, wo ich weitere Methoden + Datenfelder hinzugügen kann?
    Kann jemand bitte einen eispiel geben, falls keine vorhanden sind?

  • Netzwerkauslastung?

    • DeepRed92
    • 17. April 2010 um 16:20

    Hallo,

    weiß jemand, wie man mit AutoIt an die Daten von der Netzwerkkarte rankommt?
    Ich mächte nähmlich die Daten von der Netzwerkkarte wie im Taskmanager haben. Weiß jemand wie das geht?

  • GDI+ Button Hilfe

    • DeepRed92
    • 9. April 2010 um 18:39

    Hmm ich versteh nicht warum die Kanten dunkler werden. Ich färbe dabei doch nur den Inhalt. Also den ineren Teil vom Button. :(

  • GDI+ Button Hilfe

    • DeepRed92
    • 8. April 2010 um 23:38

    Das ist doch nicht das Problem. Die Kanten werden immer nach jedem klick dunkler und ich versteh nicht wieso!? Wie kann ich das verhindern?

  • GDI+ Button Hilfe

    • DeepRed92
    • 8. April 2010 um 22:27

    Sry fürDoppelpost, aber wenn ich Post 1 editiere, gehen die Leerzeichen bei den Scripten oben weg.

    Also das Problem liegt wahrscheinlich an der Funktion _GDIPlusButton_SetState($button, $State)

  • GDI+ Button Hilfe

    • DeepRed92
    • 8. April 2010 um 22:22

    Hallo,

    ich hab mal aus langeweile einen GDI+ Button gescriptet. Doch wenn ich auf diesen Button mehrmals klicke, wird es aus unerklärlichen Gründen an den Rändern dunkler. Ich hab dabei doch auch Antialiasing auf 0 gestellt...

    Hier der Code. Ist zwar noch ziemlich unordentlich, wird sich aber bald ändern ^^

    Beispielscript
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    #include <GDI+ Button.au3>

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

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

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

    Local Const $PRESSED = 1
    Local Const $UNPRESSED = 2

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

    $Form1 = GUICreate("Form1", 625, 445)
    GUISetBkColor(0xF0F0F0)
    GUISetState(@SW_SHOW)

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

    $timer = TimerInit()
    $Btn = _GDIPlusButton_Create($Form1, "Klick" , 10, 10, 100, 25)

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

    GUICtrlCreateButton("Klick", 10, 80, 100, 25)

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

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

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

    Case $Btn[0]
    _GDIPlusButton_SetState($Btn, $PRESSED)
    _BildWurdeAngeklickt($Form1, $Btn[0])
    _GDIPlusButton_SetState($Btn, $UNPRESSED)

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

    EndSwitch
    WEnd

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

    ;Überprüft, ob das Bild angeklickt und losgelassen wurde.
    Func _BildWurdeAngeklickt($xFensterHandle, $xBildHandle, $xBildBeiKlick = -1, $xBildBeiHover = -1, $xDelay = 20)
    ;Findet den Cursor-Info heraus.
    Local $xCursorInfo = GUIGetCursorInfo($xFensterHandle)
    ;Bricht die Funktion bei Fehler ab.
    If Not IsArray($xCursorInfo) Then Return 0
    ;Wartet, bis geklickt wurde.
    Do
    $xCursorInfo = GUIGetCursorInfo($xFensterHandle)
    If Not $xCursorInfo[2] Then
    ;Bricht die Funktion ab.
    Return 1
    EndIf
    ;Verlangsamt die Schleife.
    Sleep($xDelay)
    Until $xCursorInfo[4] <> $xBildHandle
    ;Gibt die 0 wieder.
    Return 0
    EndFunc ;==>_ImagePressed_Wait

    [/autoit]
    UDF
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    #include <GDIPlus.au3>
    #include <Array.au3>

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

    OnAutoItExitRegister("_AutoItExit")

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

    _GDIPlus_Startup()

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

    #region Methoden

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

    Func _GDIPlusButton_Create($hWnd, $Text, $x, $y, $breite, $Hoehe)
    $capGraph = _GDIPlus_GraphicsCreateFromHWND($hWnd)

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

    $hBMP = _GDIPlus_BitmapCreateFromGraphics($breite, $Hoehe, $capGraph)
    _GDIPlus_GraphicsDispose($capGraph)
    $capGraph = _GDIPlus_ImageGetGraphicsContext($hBMP)

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

    _GDIPlus_GraphicsSetSmoothingMode($capGraph, 4)

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

    Local $aPoints[9][2]

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

    $aPoints[0][0] = 8

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

    $aPoints[1][0] = 1
    $aPoints[1][1] = 0

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

    $aPoints[2][0] = $breite - 2
    $aPoints[2][1] = 0

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

    $aPoints[3][0] = $breite - 1
    $aPoints[3][1] = 1

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

    $aPoints[4][0] = $breite - 1
    $aPoints[4][1] = $Hoehe - 2

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

    $aPoints[5][0] = $breite - 2
    $aPoints[5][1] = $Hoehe - 1

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

    $aPoints[6][0] = 1
    $aPoints[6][1] = $Hoehe - 1

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

    $aPoints[7][0] = 0
    $aPoints[7][1] = $Hoehe - 2

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

    $aPoints[8][0] = 0
    $aPoints[8][1] = 1

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

    _GDIPlus_GraphicsDrawPolygon ($capGraph, $aPoints, _GDIPlus_PenCreate(0xFF707070))

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

    _GDIPlus_GraphicsSetSmoothingMode($capGraph, 0)

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

    $aPoints[0][0] = 8

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

    $aPoints[1][0] = 1 + 2
    $aPoints[1][1] = 0 + 1

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

    $aPoints[2][0] = $breite - 2 - 2
    $aPoints[2][1] = 0 + 1

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

    $aPoints[3][0] = $breite - 1 - 1
    $aPoints[3][1] = 1 + 2

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

    $aPoints[4][0] = $breite - 1 - 1
    $aPoints[4][1] = $Hoehe - 2 - 2

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

    $aPoints[5][0] = $breite - 2 - 2
    $aPoints[5][1] = $Hoehe - 1 - 1

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

    $aPoints[6][0] = 1 + 2
    $aPoints[6][1] = $Hoehe - 1 - 1

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

    $aPoints[7][0] = 0 + 1
    $aPoints[7][1] = $Hoehe - 2 - 2

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

    $aPoints[8][0] = 0 + 1
    $aPoints[8][1] = 1 + 2

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

    _GDIPlus_GraphicsDrawPolygon ($capGraph, $aPoints, _GDIPlus_PenCreate(0xFFFFFFFF))

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

    Local $AnzahlLinien = ($Hoehe - 7) + 2
    Local $Array = ColorGradient(0xFCFCFC, 0xCFCFCF, $AnzahlLinien)

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

    Local $pen = _GDIPlus_PenCreate(Number("0xFF" & Hex($Array[0], 6)))

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

    _GDIPlus_GraphicsDrawLine($capGraph, 3, 2, $breite - 4, 2, $pen)

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

    For $i = 0 To $Hoehe - 7
    $pen = _GDIPlus_PenCreate(Number("0xFF" & Hex($Array[$i + 1], 6)))
    _GDIPlus_GraphicsDrawLine($capGraph, 2, 3 + $i, $breite - 3, 3 + $i, $pen)
    Next

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

    $pen = _GDIPlus_PenCreate(Number("0xFF" & Hex($Array[$AnzahlLinien - 1], 6)))
    _GDIPlus_GraphicsDrawLine($capGraph, 3, $Hoehe - 3, $breite - 4, $Hoehe - 3, $pen)

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

    ;~ _GDIPlus_GraphicsDrawString($capGraph, $Text, 25, 10, "Arial", 12)

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

    $hBitmap_GDI = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBMP)

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

    Local $ID = GUICtrlCreatePic("", $x, $y, $breite, $Hoehe)

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

    _SetBitmapToCtrl($ID, $hBitmap_GDI)
    ;~ _GDIPlus_GraphicsDispose($capGraph)
    ;~ _GDIPlus_BitmapDispose($hBMP)
    Local $ar[6] = [$ID, $capGraph, $hBMP, $breite, $Hoehe, $AnzahlLinien]
    Return $ar
    EndFunc

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

    Func _GDIPlusButton_SetState($button, $State)
    Local $capGraph = $button[1]
    Local $hBMP = $button[2]
    Local $breite = $button[3]
    Local $Hoehe = $button[4]
    Local $AnzahlLinien = $button[5]

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

    _GDIPlus_GraphicsSetSmoothingMode($capGraph, 0)

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

    Local $pen = _GDIPlus_PenCreate(0xFF000000)

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

    ;~ _GDIPlus_GraphicsDrawLine($capGraph, 1, 1, 50, 10, $pen)

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

    If $State = 1 Then
    Local $Array = ColorGradient(0xCFCFCF, 0xFCFCFC, $AnzahlLinien)
    ElseIf $State = 2 Then
    Local $Array = ColorGradient(0xFCFCFC, 0xCFCFCF, $AnzahlLinien)
    EndIf

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

    Local $pen = _GDIPlus_PenCreate(Number("0xFF" & Hex($Array[0], 6)))

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

    _GDIPlus_GraphicsDrawLine($capGraph, 3, 2, $breite - 4, 2, $pen)

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

    For $i = 0 To $Hoehe - 7
    $pen = _GDIPlus_PenCreate(Number("0xFF" & Hex($Array[$i + 1], 6)))
    _GDIPlus_GraphicsDrawLine($capGraph, 2, 3 + $i, $breite - 3, 3 + $i, $pen)
    Next

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

    $pen = _GDIPlus_PenCreate(Number("0xFF" & Hex($Array[$AnzahlLinien - 1], 6)))
    _GDIPlus_GraphicsDrawLine($capGraph, 3, $Hoehe - 3, $breite - 4, $Hoehe - 3, $pen)

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

    $hBitmap_GDI = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBMP)

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

    _SetBitmapToCtrl($button[0], $hBitmap_GDI)

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

    EndFunc

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

    Func RandomColor($hMinColor = 0x000000, $hMaxColor = 0xFFFFFF)
    $hMinColor = Hex($hMinColor, 6)
    $hMaxColor = Hex($hMaxColor, 6)

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

    Local $iRed1 = Dec(StringLeft($hMinColor, 2))
    Local $iGreen1 = Dec(StringMid($hMinColor, 3, 2))
    Local $iBlue1 = Dec(StringMid($hMinColor, 5, 2))

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

    Local $iRed2 = Dec(StringLeft($hMaxColor, 2))
    Local $iGreen2 = Dec(StringMid($hMaxColor, 3, 2))
    Local $iBlue2 = Dec(StringMid($hMaxColor, 5, 2))

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

    Local $iRndRed = Random($iRed1, $iRed2, 1)
    Local $iRndGreen = Random($iGreen1, $iGreen2, 1)
    Local $iRndBlue = Random($iBlue1, $iBlue2, 1)

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

    Return Dec(Hex($iRndRed, 2) & Hex($iRndGreen, 2) & Hex($iRndBlue, 2))
    EndFunc ;==>RandomColor

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

    Func ColorGradient($hInitialColor, $hFinalColor, $iReturnSize)
    $hInitialColor = Hex($hInitialColor, 6)
    $hFinalColor = Hex($hFinalColor, 6)

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

    Local $iRed1 = Dec(StringLeft($hInitialColor, 2))
    Local $iGreen1 = Dec(StringMid($hInitialColor, 3, 2))
    Local $iBlue1 = Dec(StringMid($hInitialColor, 5, 2))

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

    Local $iRed2 = Dec(StringLeft($hFinalColor, 2))
    Local $iGreen2 = Dec(StringMid($hFinalColor, 3, 2))
    Local $iBlue2 = Dec(StringMid($hFinalColor, 5, 2))

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

    Local $iPlusRed = ($iRed2 - $iRed1) / ($iReturnSize - 1)
    Local $iPlusBlue = ($iBlue2 - $iBlue1) / ($iReturnSize - 1)
    Local $iPlusGreen = ($iGreen2 - $iGreen1) / ($iReturnSize - 1)

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

    Dim $iColorArray[$iReturnSize]
    For $i = 0 To $iReturnSize - 1
    $iNowRed = Floor($iRed1 + ($iPlusRed * $i))
    $iNowBlue = Floor($iBlue1 + ($iPlusBlue * $i))
    $iNowGreen = Floor($iGreen1 + ($iPlusGreen * $i))
    $iColorArray[$i] = Dec(Hex($iNowRed, 2) & Hex($iNowGreen, 2) & Hex($iNowBlue, 2))
    Next
    Return ($iColorArray)
    EndFunc ;==>ColorGradient

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

    ;Setzt ein Bild in ein Control.
    Func _SetBitmapToCtrl($CtrlId, $hBitmap)
    Local Const $STM_SETIMAGE = 0x0172
    Local Const $IMAGE_BITMAP = 0
    Local Const $SS_BITMAP = 0xE
    Local Const $GWL_STYLE = -16

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

    Local $hWnd = GUICtrlGetHandle($CtrlId)
    If $hWnd = 0 Then Return SetError(1, 0, 0)

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

    Local $oldStyle = DllCall("user32.dll", "long", "GetWindowLong", "hwnd", $hWnd, "int", $GWL_STYLE)
    If @error Then Return SetError(2, 0, 0)
    DllCall("user32.dll", "long", "SetWindowLong", "hwnd", $hWnd, "int", $GWL_STYLE, "long", BitOR($oldStyle[0], $SS_BITMAP))
    If @error Then Return SetError(3, 0, 0)

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

    Local $oldBmp = DllCall("user32.dll", "hwnd", "SendMessage", "hwnd", $hWnd, "int", $STM_SETIMAGE, "int", $IMAGE_BITMAP, "int", $hBitmap)
    If @error Then Return SetError(4, 0, 0)
    If $oldBmp[0] <> 0 Then DllCall("GDI32.dll", "int", "DeleteObject", "int", $oldBmp[0])
    Return 1
    EndFunc ;==>_SetBitmapToCtrl

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

    ;Beim beenden.
    Func _AutoItExit()
    _GDIPlus_Shutdown()
    EndFunc

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

    #EndRegion Methoden

    [/autoit]

    Dateien

    Beispiel.au3 1,64 kB – 362 Downloads GDI+ Button.au3 6,95 kB – 303 Downloads
  • Hex 6 in Hex 8 umwandeln?

    • DeepRed92
    • 8. April 2010 um 00:55

    Guten Abend,

    ich hab hier eine Funktion:

    Spoiler anzeigen
    [autoit]

    Func ColorGradient($hInitialColor, $hFinalColor, $iReturnSize)
    $hInitialColor = Hex($hInitialColor, 6)
    $hFinalColor = Hex($hFinalColor, 6)

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

    Local $iRed1 = Dec(StringLeft($hInitialColor, 2))
    Local $iGreen1 = Dec(StringMid($hInitialColor, 3, 2))
    Local $iBlue1 = Dec(StringMid($hInitialColor, 5, 2))

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

    Local $iRed2 = Dec(StringLeft($hFinalColor, 2))
    Local $iGreen2 = Dec(StringMid($hFinalColor, 3, 2))
    Local $iBlue2 = Dec(StringMid($hFinalColor, 5, 2))

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

    Local $iPlusRed = ($iRed2 - $iRed1) / ($iReturnSize - 1)
    Local $iPlusBlue = ($iBlue2 - $iBlue1) / ($iReturnSize - 1)
    Local $iPlusGreen = ($iGreen2 - $iGreen1) / ($iReturnSize - 1)

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

    Dim $iColorArray[$iReturnSize]
    For $i = 0 To $iReturnSize - 1
    $iNowRed = Floor($iRed1 + ($iPlusRed * $i))
    $iNowBlue = Floor($iBlue1 + ($iPlusBlue * $i))
    $iNowGreen = Floor($iGreen1 + ($iPlusGreen * $i))
    $iColorArray[$i] = Dec(Hex($iNowRed, 2) & Hex($iNowGreen, 2) & Hex($iNowBlue, 2))
    Next
    Return ($iColorArray)
    EndFunc ;==>ColorGradient

    [/autoit]

    dass einen Farbverlauf von Farbe a nach b berechnet und alle einzelne Farben als Array zurück gibt. Also die Rückgabewerte sind z.b. 3881263. Da ich diesen Farbverlauf für ein GDI+ Script brauche, muss ich das in so etwas umwandeln: 0xFF3A4FF6. Nun ich komm leider die ganze Zeit schon nicht drauf, wie man aus einer Zahl soetwas macht.

    Hier ein Stück aus meinem Code:

    Spoiler anzeigen
    [autoit]

    Local $AnzahlLinien = ($Hoehe - 7) + 2
    Local $Array = ColorGradient(RandomColor(), RandomColor(), $AnzahlLinien)

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

    Local $pen = _GDIPlus_PenCreate("0xFF" & $Array[0])

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

    _GDIPlus_GraphicsDrawLine($capGraph, 3, 2, $breite - 4, 2, $pen)

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

    For $i = 0 To $Hoehe - 7
    $pen = _GDIPlus_PenCreate("0xFF" & $Array[$i + 1])
    _GDIPlus_GraphicsDrawLine($capGraph, 2, 3 + $i, $breite - 3, 3 + $i, $pen)
    Next

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

    $pen = _GDIPlus_PenCreate("0xFF" & $Array[$AnzahlLinien - 1])
    _GDIPlus_GraphicsDrawLine($capGraph, 3, $Hoehe - 3, $breite - 4, $Hoehe - 3, $pen)

    [/autoit]

    Ich hab bei Zeile 9 versucht die "0xFF" einfach als String anzuhängen, aber das funktioniert nicht.

  • Windows Mail in Tray minimizer

    • DeepRed92
    • 31. März 2010 um 19:25

    Hallo,

    ich wollte gerade Windows Mail unter Vista einrichten und dabei ist mir aufgefallen, dass man das Programm nicht in den Tray minimieren kann. Also hab ich mir die Mühe gemacht, ein kleines Script zu schreiben, das Windows Mail beim minimieren unsichtbar macht und nur einen Symbol im Traybereich anzeigt. Unter Vista funktioniert das Script. Gibt es unter Windows 7 auch Windows Mail?

    Im Anhang ist das Script als Code und kompiliert vorzufinden.


    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.0
    Author: Burak Keskin

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    Opt("TrayMenuMode", 1)
    Opt("TrayOnEventMode", 1)

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

    #include <Constants.au3>

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

    Local Const $ScriptOrdner = @ScriptDir
    Local Const $ProgrammOrdner = @ProgramFilesDir
    Local Const $WindowsMailPath = $ProgrammOrdner & "\Windows Mail\WinMail.exe"
    _StarteWinMail()
    Local Const $FensterHandle = WinGetHandle("[CLASS:Outlook Express Browser Class]")
    Local Const $Delay = 200 ;Aktualisierungszeit in ms.

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

    If Not ProcessExists("WinMail.exe") Then
    MsgBox(16, "Fehler", "Sie müssen zuerst Windows Mail starten.")
    Exit
    EndIf

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

    TraySetIcon($WindowsMailPath, -1)
    TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE , "_ZeigeWindowsMailFenster")

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

    If WinGetState($FensterHandle) <> 23 Then
    TraySetState(2)
    Else
    TraySetState(1)
    EndIf

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

    AdlibRegister("_VersteckeWindowsMail", $Delay)

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

    ;Nichts ^^
    While 1
    Sleep(50)
    WEnd

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

    ;Versteckt das Fenster, wenn es minimiert wurde.
    Func _VersteckeWindowsMail()
    Switch WinGetState($FensterHandle)
    Case 23 ;Minimiert
    TraySetState(1)
    WinSetState($FensterHandle,"", @SW_HIDE)
    EndSwitch
    If Not ProcessExists("WinMail.exe") Then Exit
    EndFunc

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

    ;Stellt das Fenster wieder her.
    Func _ZeigeWindowsMailFenster()
    Switch WinGetState($FensterHandle)
    Case 7, 21, 39
    TraySetState(2)
    WinActivate($FensterHandle)
    WinSetState($FensterHandle, "", @SW_RESTORE)
    EndSwitch
    EndFunc

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

    ;Startet Windows Mail.
    Func _StarteWinMail()
    If ProcessExists("WinMail.exe") Then Return 0
    Run($WindowsMailPath)
    WinWait("Posteingang - Windows Mail", "Symbolleiste")
    WinSetState("Posteingang - Windows Mail", "Symbolleiste", @SW_MINIMIZE)
    EndFunc

    [/autoit]

    Dateien

    Minimize To Tray.zip 419,5 kB – 486 Downloads
  • Vista 32Bit oder 64?

    • DeepRed92
    • 31. März 2010 um 12:44

    Hallo,

    ich habe 2 Vista CDs. Einmal 32 und 64Bit. Da ich jetzt gleich mein PC neuinstallieren möchte (weil die TrayTips nicht mehr funktionieren -.- und lässt sich auch nicht wieder anschalten!)
    wollte ich wissen, ob sich 64Bit wirklich lohnt. Ist es wirklich viel schneller als 32 Bit? Läuft es auch stabiler?

  • in C++ erstellte .dll´s in AutoIt nutzen

    • DeepRed92
    • 28. März 2010 um 22:36

    Aso ^^

    Also zuerst hab ich mit C++ eine Dll erstellt

    Spoiler anzeigen
    C
    #if defined(_MSC_VER)
    #include <windows.h>
    #define DLL extern "C" __declspec(dllexport)
    #else
    #define DLL
    #endif
    // nur unter MS VC das Symbol DLL definieren; z.B. unter Linux wird DLL ignoriert
    
    
    // Die Funktion, die anderen Programmen zur Verfügung gestellt werden soll
    // (in diesem Beispiel: Addieren zweier Zahlen)
    DLL double AddNumbers (double a, double b) 
    {
        return a + b;
    }
    Alles anzeigen

    Und danach kann man diese Dll so aufrufen:

    [autoit]

    $dll = DllOpen("add.dll")
    $c = DllCall($dll,"double:cdecl","AddNumbers","double",$a,"double",$b)

    [/autoit]

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™