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

Beiträge von Manlius

  • Bilder zurechtschneiden

    • Manlius
    • 20. Mai 2016 um 08:50

    Ich habe momentan etwa 1.000 Bilder auf der Platte. Diese will ich zurechtschneiden und dann zusammenfuegen. Immer 5 Bilder davon sollen im Endeffekt nebeneinander auf ein Bild kommen. Haendisch ist das natuerlich ein riesen Aufwand vor allem daher, dass ich diese Prozess immer wieder haben werde.
    Okay Danke dann werde ich mir mal GDI+ anschauen :)

  • Bilder zurechtschneiden

    • Manlius
    • 19. Mai 2016 um 18:25

    Hallo zusammen!

    Habe ich denn in AutoIT die Möglichkeit Bilder zu schneiden? Und wenn ja, gibt es hierfür vielleicht schon eine passende Funktion als UDF o.ä.?

    Besten Dank!

    Gruß

  • Screenshot von Unity Webplayer

    • Manlius
    • 17. Mai 2016 um 17:11

    Hallo zusammen!
    Ich muss gerade einige viele Screenshots in einem Programm machen, das auf dem Unity Webplayer basiert. Also kurzes Spiel: Zieh ich mir ein Programm aus dem Internet, dass mir das Screenshot machen vereinfacht und ich nicht alles von Hand machen muss.
    Nun das Problem: Sobald ich den Unity Player im Vollbild öffne, "screenshotet" mir es nicht mehr den Inhalt des Players, sondern das dahinter liegende Fenster. Also dachte ich mir, liegt vielleicht an dem Programm, mach ich mir doch kurz ein eigenes AutoIT-Skript. Naja hier genau das selbe Spiel. Das komische ist jedoch, dass wenn ich die ganze Prozedur manuell über die "Druck"-Taste mache, erhalte ich den Inhalt des Players und nicht das dahinter liegende Fenster.
    Hat jemand eine Ahnung, an was das liegt, oder was ich beim Skript beachten muss? Ist vielleicht nicht eine reine AutoIT Frage aber fragen kostet ja nichts :P

    Danke euch!

    Gruß

  • Auswerten von _FFLinksGetAll in der FF.au3

    • Manlius
    • 24. Februar 2012 um 15:35

    Hey Leute,

    ich habe folgendes Problem: Ich will mit _FFLinksGetAll alle Links einer Seite mir anzeigen lassen. Das funktioniert auch soweit, jedoch wenn ich die einzelnen Arrays in einen String umwandeln will, wird mir nichts mehr angezeigt sozusagen.

    Spoiler anzeigen
    [autoit]


    $input = InputBox ("Seite zum parsen","URLt")
    _FFStart ($input,"default",2,False)
    _FFWindowClose () ;wegen dem 2424 fenster da^^
    $links = _FFLinksGetAll ()
    _ArrayDisplay ($links) ;funktioniert wunderbar
    For $i = 0 to 9
    $string = _ArrayToString ($links[79][$i])
    MsgBox (16,"",$string) ;gibt nichts aus
    Next

    [/autoit]

    Hier noch die Funktion aus der FF.au3:

    Spoiler anzeigen
    [autoit]

    ; #FUNCTION# ===================================================================
    ; Name ..........: _FFLinksGetAll
    ; Description ...: Returns an array with informations about all existing links.
    ; Beschreibung ..: Gibt ein Array mit Informationen über alle vorhandenen Links zurück.
    ; AutoIt Version : V3.3.0.0
    ; Syntax ........: _FFLinksGetAll()
    ; Parameter(s): .:
    ; Return Value ..: Success - 2 dim array with the link informations:
    ; | array[n][0] = href
    ; | array[n][1] = hash
    ; | array[n][2] = search
    ; | array[n][3] = name
    ; | array[n][4] = id
    ; | array[n][5] = text
    ; | array[n][6] = innerHTML
    ; | array[n][7] = target
    ; | array[n][8] = protocol
    ; | array[n][9] = port
    ; Failure - array[0][0] = 0
    ; @ERROR -
    ; Author(s) .....: Thorsten Willert
    ; Date ..........: Tue Sep 22 12:00:34 CEST 2009 @458 /Internet Time/
    ; Link ..........:
    ; Related .......:
    ; Example .......: Yes
    ; ==============================================================================
    Func _FFLinksGetAll()
    Local Const $sFuncName = "_FFLinksGetAll"

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

    Local $aInfo, $sInfo, $aRet[1][9], $aTmp
    Local $sDelimiter

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

    Local $bTrc = $_FF_COM_TRACE
    $_FF_COM_TRACE = False

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

    If _FFGetLength() > 0 Then
    $sDelimiter = "FF" & Random(1000, 9999, 1)
    $sInfo = _FFCmd('FFau3.GetLinks("' & $sDelimiter & '");')
    $aInfo = StringSplit($sInfo, @CRLF)
    If @error Then
    $_FF_COM_TRACE = $bTrc
    SetError(__FFError($sFuncName, $_FF_ERROR_NoMatch))
    Return $aRet[0][0] = 0
    EndIf
    ReDim $aRet[$aInfo[0] - 1][9]
    For $i = 1 To $aInfo[0] - 1
    $aTmp = StringSplit($aInfo[$i], $sDelimiter, 1)
    If @error Then
    SetError(__FFError($sFuncName, $_FF_ERROR_RetValue, "StringSplit: " & $aInfo[$i]))
    ExitLoop
    EndIf
    If UBound($aTmp) <> 11 Then
    $sDelimiter = "FF" & Random(1000, 9999, 1)
    $sInfo = _FFCmd("FFau3.GetLinkInfo(" & $i & " ,'top','" & $sDelimiter & "')")
    $aTmp = StringSplit($sInfo, $sDelimiter, 1)
    EndIf
    For $j = 1 To $aTmp[0] - 1
    $aRet[$i - 1][$j - 1] = $aTmp[$j]
    Next
    Next
    $_FF_COM_TRACE = $bTrc
    Return $aRet
    Else
    SetError(__FFError($sFuncName, $_FF_ERROR_NoMatch))
    $aRet[0][0] = 0
    EndIf

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

    $_FF_COM_TRACE = $bTrc
    SetError(__FFError($sFuncName, $_FF_ERROR_GeneralError))
    Return $aRet[0][0] = 0
    EndFunc ;==>_FFLinksGetAll

    [/autoit]

    Außerdem gibt mir die Konsole noch aus:

    Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
    $string = _ArrayToString ($links[79][$i],"")
    $string = _ArrayToString (^ ERROR


    Aber in der Funktion steht doch ganz klar drin, dass ein 2-dimensionales Array erstellt wird?!

    Danke :)

    Liebe Grüße

  • _GDI+_MatrixRotate

    • Manlius
    • 3. März 2011 um 14:05

    Vielen vielen Dank. So funktioniert´s ;)

  • _GDI+_MatrixRotate

    • Manlius
    • 2. März 2011 um 19:01

    Mit

    [autoit]

    _GDIPlus_MatrixTranslate($hMatrix, $fOffsetX, $fOffsetY

    [/autoit]

    kann ich zwar den Angelpunkt verschieben, jedoch geht das ganze Bild auch mit ?(?(
    Somit is der Angelpunkt dann wieder die Hand^^
    Hier, was ich bis jetzt hab:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    #include <StaticConstants.au3>
    #include <GUIConstants.au3>
    #include <WinAPI.au3>

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

    Opt('MouseCoordMode', 2)

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

    Const $winwidth = 800
    Const $winheight = 600
    Global $background = @ScriptDir&"\schach.jpg"
    Global $startbutton = @ScriptDir&"\start.png"
    Global $figurpath = @ScriptDir&"\figur.png"
    Global $ausgangx = 400
    Global $ausgangy = 500

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

    _GDIPlus_Startup()
    Global $start = _GDIPlus_ImageLoadFromFile($startbutton)
    Global $figurload = _GDIPlus_BitmapCreateFromFile ($figurpath)
    Global $iWidth = _GDIPlus_ImageGetWidth ($figurload)
    Global $iHeight = _GDIPlus_ImageGetHeight ($figurload)

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

    Global $backpic = _GDIPlus_BitmapCreateFromFile ($background)
    Global $width = _GDIPlus_ImageGetWidth($backpic)
    Global $height = _GDIPlus_ImageGetHeight($backpic)

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

    $hGUI = GUICreate ("Versuch",$winwidth,$winheight)
    GUISetOnEvent ($GUI_EVENT_CLOSE,"ende")
    GUISetState (@SW_Show)

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

    Global $graphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics ($width,$height,$graphic)
    Global $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

    _GDIPlus_GraphicsDrawImage($graphic, $backpic, 0, 0)

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

    _GDIPlus_GraphicsDrawImage($graphic,$start,370,230)

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

    Global $hFGBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth+20, $iHeight+20, $graphic)
    Global $hFGBackbuffer = _GDIPlus_ImageGetGraphicsContext($hFGBitmap)

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

    While 1
    $get = GUIGetMsg ()
    $cursor = GUIGetCursorInfo ()
    If not IsArray ($cursor) Then
    ExitLoop
    EndIf
    If $cursor[0] >= 370 and $cursor[0] <= 450 and $cursor[1] >= 230 and $cursor[1] <= 310 and $cursor[2] Then
    Game ()
    EndIf

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

    Switch $get
    Case $GUI_EVENT_CLOSE
    ende ()
    EndSwitch
    Sleep (20)
    WEnd

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

    Func Game ()
    Global $matrix = _GDIPlus_MatrixCreate()
    _GDIPlus_MatrixTranslate($matrix, $iWidth/2, $iHeight/2)


    While 1


    _GDIPlus_GraphicsDrawImage($hBackbuffer, $backpic, 0, 0) ;draw background
    _GDIPlus_GraphicsClear($hFGBackbuffer, 0x00000000) ;clear backbuffer from foreground graphics

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

    _GDIPlus_MatrixRotate($matrix, 3, "False") ;rotate foreground graphic
    _GDIPlus_GraphicsSetTransform($hFGBackbuffer, $matrix)
    _GDIPlus_GraphicsDrawImage($hFGBackbuffer, $figurload, -$iWidth, -$iHeight)

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

    _GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hFGBitmap, 355, 250, $iWidth+20, $iHeight+20) ;copy foreground backbuffer to main backbuffer
    _GDIPlus_GraphicsDrawImageRect($graphic, $hBitmap, 0, 0, $width, $height) ;copy full drawn image to main screen
    WEnd

    Sleep (1000)

    EndFunc

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

    Func ende ()
    _GDIPlus_GraphicsDispose($graphic)
    _GDIPlus_ImageDispose($start)
    _GDIPlus_ImageDispose($figurload)
    _GDIPlus_MatrixDispose($matrix)
    _GDIPlus_Shutdown ()
    Exit
    EndFunc
    EndFunc

    [/autoit]

    Wenn du die Bilder benötigst, die habe ich weiter oben schonmal hochgeladen...
    Danke

  • _GDI+_MatrixRotate

    • Manlius
    • 2. März 2011 um 12:13

    Mhm...hab mir das Ganze mal angeschaut. Sieht übrigens klasse aus ;)
    Bei mir zeichnet´s aufjedenfall die Figur (in dem Fall den foreground) nich mehr.
    Anbei das Script un die Bilder...

    Edit: Ok hab´s jz hinbekommen. Es einzige Problem is jz, dass es die Figur immer um die Hand dreht^^ Also die Hand ist sozusagen der Angelpunkt der Drehung:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    #include <StaticConstants.au3>
    #include <GUIConstants.au3>
    #include <WinAPI.au3>

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

    Opt('MouseCoordMode', 2)

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

    Const $winwidth = 800
    Const $winheight = 600
    Global $background = @ScriptDir&"\schach.jpg"
    Global $startbutton = @ScriptDir&"\start.png"
    Global $figurpath = @ScriptDir&"\figur.png"

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

    _GDIPlus_Startup()
    Global $start = _GDIPlus_ImageLoadFromFile($startbutton)
    Global $figurload = _GDIPlus_BitmapCreateFromFile ($figurpath)
    Global $iWidth = _GDIPlus_ImageGetWidth ($figurload)
    Global $iHeight = _GDIPlus_ImageGetHeight ($figurload)

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

    Global $backpic = _GDIPlus_BitmapCreateFromFile ($background)
    Global $width = _GDIPlus_ImageGetWidth($backpic)
    Global $height = _GDIPlus_ImageGetHeight($backpic)

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

    $hGUI = GUICreate ("Versuch",$winwidth,$winheight)
    GUISetOnEvent ($GUI_EVENT_CLOSE,"ende")
    GUISetState (@SW_Show)

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

    Global $graphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics ($width,$height,$graphic)
    Global $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

    _GDIPlus_GraphicsDrawImage($graphic, $backpic, 0, 0)

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

    _GDIPlus_GraphicsDrawImage($graphic,$start,370,230)

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

    Global $hFGBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $graphic)
    Global $hFGBackbuffer = _GDIPlus_ImageGetGraphicsContext($hFGBitmap)

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

    While 1
    $get = GUIGetMsg ()
    $cursor = GUIGetCursorInfo ()
    If not IsArray ($cursor) Then
    ExitLoop
    EndIf
    If $cursor[0] >= 370 and $cursor[0] <= 450 and $cursor[1] >= 230 and $cursor[1] <= 310 and $cursor[2] Then
    Game ()
    EndIf

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

    Switch $get
    Case $GUI_EVENT_CLOSE
    ende ()
    EndSwitch
    Sleep (20)
    WEnd

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

    Func Game ()
    Global $matrix = _GDIPlus_MatrixCreate()
    _GDIPlus_MatrixTranslate($matrix, 35, 35)

    While 1
    _GDIPlus_GraphicsDrawImage($hBackbuffer, $backpic, 0, 0) ;draw background
    _GDIPlus_GraphicsClear($hFGBackbuffer, 0x00000000) ;clear backbuffer from foreground graphics

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

    _GDIPlus_MatrixRotate($matrix, 3, "False") ;rotate foreground graphic
    _GDIPlus_GraphicsSetTransform($hFGBackbuffer, $matrix)
    _GDIPlus_GraphicsDrawImage($hFGBackbuffer, $figurload, -$iWidth, -$iHeight)

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

    _GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hFGBitmap, 370, 270, $iWidth, $iHeight) ;copy foreground backbuffer to main backbuffer
    _GDIPlus_GraphicsDrawImageRect($graphic, $hBitmap, 0, 0, $width, $height) ;copy full drawn image to main screen
    Sleep (50)
    WEnd

    Sleep (1000)

    EndFunc

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

    Func ende ()
    _GDIPlus_GraphicsDispose($graphic)
    _GDIPlus_ImageDispose($start)
    _GDIPlus_ImageDispose($figurload)
    _GDIPlus_MatrixDispose($matrix)
    _GDIPlus_Shutdown ()
    Exit
    EndFunc

    [/autoit]
  • _GDI+_MatrixRotate

    • Manlius
    • 1. März 2011 um 21:21

    Aber wie kann ich damit nur die Figur übermalen? Weil bei mir is die ganze GUI das Grafikobjekt wegen:

    [autoit]

    _GDIPlus_GraphicsCreateFromHWND ($hGUI)

    [/autoit]

    Es gibt zwar ja auch noch

    [autoit]

    _GDIPlus_GraphicsCreateFromHDC

    [/autoit]

    Aber dann müsste ich ja aus nem image/bild den Gerätekontext auslesen un das geht ja nich (hat ein bild überhaupt so was? :D) Also immer wenn ich

    [autoit]

    _GDIPlus_GraphicsClear()

    [/autoit]

    mach, wird meine ganze GUI weiß...

  • _GDI+_MatrixRotate

    • Manlius
    • 1. März 2011 um 20:41

    Also:

    [autoit]

    _GDIPlus_ImageDispose ($hImage)

    [/autoit]


    ?

  • _GDI+_MatrixRotate

    • Manlius
    • 1. März 2011 um 20:20

    Hey Leute,
    kann man irgendwie verhindern, dass MatrixRotate "alles" verwischt?
    so sieht das Ganze vorher aus:

    Spoiler anzeigen

    [Blockierte Grafik: http://img4.imageshack.us/img4/8599/vorher.png]

    und so nachher:

    Spoiler anzeigen

    [Blockierte Grafik: http://img846.imageshack.us/img846/5870/danach.png]

    Hab mir überlegt, dass man nach jedem Drehen, alles neuzeichnen könnte, nachdem man

    [autoit]

    _WinAPI_RedrawWindow ($hGUI)

    [/autoit]


    benutzt hat. Dann muss ich jedoch auch immer wieder den Hintergrund zeichnen, wobei er immer wieder aufflimmert.
    achja, die Figur ist ne .png un is transparent...

    Danke

  • _GDIPlus Grafik "entfernen"

    • Manlius
    • 28. Februar 2011 um 21:41

    Hey Leute,

    wie kann ich ne Grafik, die ich zuvor mit _GDIPlus gezeichnet hab, wieder entfernen?
    Mit

    [autoit]

    _WinAPI_RedrawWindow ($hGUI)

    [/autoit]


    geht das ganze ja schön und gut, jedoch "flimmert" dabei immer der Hintergrund der GUI auf, was mich stört. Da gibt´s doch bestimmt ne elegantere Lösung, oder?

    Danke

  • Aus einer _GDIPlus Grafik einen Button machen

    • Manlius
    • 28. Februar 2011 um 17:43

    Okay so geht´s danke ;)

  • Aus einer _GDIPlus Grafik einen Button machen

    • Manlius
    • 28. Februar 2011 um 16:46

    Hey Leute,

    Spoiler anzeigen
    [autoit]

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

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

    Const $width = 800
    Const $height = 600
    Global $background = @ScriptDir&"\schach.jpg"
    Global $startbutton = @ScriptDir&"\start.png"
    Global $figur = @ScriptDir&"\figur.gif"

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

    $hGUI = GUICreate ("Game",$width,$height)
    _GDIPlus_Startup()
    $start = _GDIPlus_ImageLoadFromFile($startbutton)
    $graphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    GUISetOnEvent ($GUI_EVENT_CLOSE,"ende")
    $backpic = GUICtrlCreatePic ($background,0,0,800,600)
    GUICtrlSetState ($backpic,$GUI_DISABLE)
    GUISetState (@SW_Show)
    $image = _GDIPlus_GraphicsDrawImage($graphic,$start,370,230)

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

    While 1
    $get = GUIGetMsg ()
    Switch $get
    Case $GUI_EVENT_CLOSE
    ende ()
    Case $image
    MsgBox (0,"GO","START!")
    EndSwitch
    Sleep (50)
    WEnd

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

    Func ende ()
    _GDIPlus_Shutdown ()
    _GDIPlus_GraphicsDispose($graphic)
    _GDIPlus_ImageDispose($start)
    Exit
    EndFunc

    [/autoit]

    Wie kann ich aus der _GDIPlus Grafik nen Button machen? Normal kann man mit der Art und Weise oben Bilder auf nen Klick abfragen, die einfach mit "Guictrlcreate ()" erschaffen wurden. Jedoch geht das nicht bei _GDIPlus Grafiken. Ich muss diesen button mit _GDIPLus machen, weil ne .png grafik nicht von GuiCtrlCreatePic unterstützt wird....

    Danke

  • Liveticker auslesen

    • Manlius
    • 10. Dezember 2010 um 20:38

    hey Leute,

    mir is gerade die Idee gekommen, dass man doch nen Bundesliga Liveticker auslesen könnte, um immer über die Ergebnisse informiert zu sein. Dazu hab ich den Sport 1 Live ticker genommen. Jetzt is aber mein Problem: Solche Live Ticker sind meistens mit Flash oder so programmiert. Kann ich da überhaupt was rauslesen? Im Quelltext steht ja absolut nix brauchbares drin. Einzelne Objekte/Elemente/Formen gibts auch nich...hat jm ne Idee?
    Danke

    LG
    Manlius

  • 1. Hilfedatei Problem::::2. Fehler in dem IE.au3 Include?

    • Manlius
    • 24. Februar 2010 um 13:14

    mhm...hab mal alle sicherheitseinstellungen runtergedreht: Ohne Erfolg...
    Hat niemand ne Ahnung zu punkt 2?

  • variables label

    • Manlius
    • 22. Februar 2010 um 22:00
    [autoit]


    #include <Guiconstants.au3>
    Guicreate ("GUI",200,200)
    $label = Guictrlcreatelabel ("Label",20,10,-1,-1) ; wenn -1 steht, passt sich die größe normalerweise an den Text an
    Guisetstate ()
    While 1
    $msg = GUigetmsg ()
    IF $msg = $GUI_EVENT_CLOSE Then Exit
    WEnd

    [/autoit]

    Edit: uhhh zu langsam :D:D

  • 1. Hilfedatei Problem::::2. Fehler in dem IE.au3 Include?

    • Manlius
    • 22. Februar 2010 um 21:15

    Hey Leute,
    1. ich habe hier an diesem PC schon immer das Problem, dass ich die Beispielscripte aus der Hilfedatei nicht direkt aufrufen kann. Ich muss die erst immer kopieren un dann wieder in den SciTE einfügen. So sieht das Ganze aus:
    [Blockierte Grafik: http://www.imgbox.de/?img=n40617i235.jpg]

    Edit: Mhm...iwie funkt das mit dem Bild einfügen net^^ Naja einfach Copy&Paste

    2. Habe ein Problem mit dem IE.au3 Include. Bei mir zeigt´s immer bei einem Aufruf (nie nach dem ersten Aufruf!!!!!) von ner Funktion diesen Fehler an:

    [autoit]

    C:\Programme\AutoIt3\Include\IE.au3 (2165) : ==> Variable must be of type "Object".:
    Return $o_object.document.documentElement.outerHTML
    Return $o_object.document.documentElement^ ERROR

    [/autoit]

    Das heißt der Fehler ist in dieser Funktion:

    Spoiler anzeigen
    [autoit]

    ;===============================================================================
    ;
    ; Function Name: _IEDocReadHTML()
    ; Description: Returns the full HTML source of a document
    ; Parameter(s): $o_object - Object variable of an InternetExplorer.Application, Window or Frame object
    ; Requirement(s): AutoIt3 V3.2 or higher
    ; Return Value(s): On Success - Returns the HTML included in the <HTML> of the docuement, including the <HTML> and </HTML> tags
    ; On Failure - Returns 0 and sets @ERROR
    ; @ERROR - 0 ($_IEStatus_Success) = No Error
    ; - 3 ($_IEStatus_InvalidDataType) = Invalid Data Type
    ; @Extended - Contains invalid parameter number
    ; Author(s): Dale Hohm
    ;
    ;===============================================================================
    ;
    Func _IEDocReadHTML(ByRef $o_object)
    If Not IsObj($o_object) Then
    __IEErrorNotify("Error", "_IEDocReadHTML", "$_IEStatus_InvalidDataType")
    SetError($_IEStatus_InvalidDataType, 1)
    Return 0
    EndIf
    If Not __IEIsObjType($o_object, "browserdom") Then
    __IEErrorNotify("Error", "_IEDocReadHTML", "$_IEStatus_InvalidObjectType", "Expected document element")
    SetError($_IEStatus_InvalidObjectType, 1)
    Return 0
    EndIf
    ;
    SetError($_IEStatus_Success)
    Return $o_object.document.documentElement.outerHTML
    EndFunc ;==>_IEDocReadHTML

    [/autoit]

    Und hier, ein ausschnitt, wie ich die Funktion in meinem Script nutze:

    Spoiler anzeigen
    [autoit]

    Do
    $read = _IEDocReadHTML($oIE)
    $strin = _StringBetween($read, "IP-Adresse", "runter")
    If Not @error Then
    $error = GUICtrlSetData ($errorlabel,"Es wird bereits eine Datei von dieser IP " & @CRLF & " gedownloaded!!!")
    GUICtrlSetFont($errorlabel, 13)
    Sleep(120000)
    ControlSend("RapidShare", "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{F5}")
    Sleep(4000)
    ControlSend("Windows Internet Explorer", "", "[CLASS:Static; INSTANCE:2]", "{Enter}")
    EndIf
    $string = _StringBetween($read, "Leider", "Server")
    If Not @error Then
    $error = GUICtrlSetData($errorlabel,"Server ist voll! Download" &@CRLF&" verzögert sich!")
    GUICtrlSetFont($errorlabel, 13)
    Sleep(120000)
    ControlSend("RapidShare", "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{F5}")
    Sleep(4000)
    ControlSend("Windows Internet Explorer", "", "[CLASS:Static; INSTANCE:2]", "{Enter}")
    EndIf
    Until @error

    [/autoit]

    Danke

    LG
    Manlius

  • Bild "sauber" in eine Gui einfügen

    • Manlius
    • 20. Februar 2010 um 23:17

    Hab jetzt ein neues Problem:
    Sobald ich die GUI z.B. auf die Leiste mache und sie dann wieder maximiere, sind die Haken in der GUI verschwunden.
    HIer mein Script:

    Spoiler anzeigen
    [autoit]

    #include <Guiconstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GDIPLus.au3>

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

    $hGUI = GUICreate ("IE",500,200,-1,-1)
    GUICtrlCreateLabel ("Inetexplorer geöffnet",20,20,-1,-1)
    GUICtrlCreateLabel ("Seite aufgerufen",20,50,-1,-1)
    GUICtrlCreateLabel ("......",20,80,-1,-1)
    GUICtrlCreateLabel (".....",20,110,-1,-1)
    GUICtrlCreateLabel (".......",20,140,-1,-1)
    $button = GUICtrlCreateButton ("Start",150,170,50,-1)

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

    GUISetState ()

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

    Do
    $msg = GUIGetMsg ()
    If $msg = $button Then
    _GDIPlus_Startup ()
    $haken = _GDIPlus_BitmapCreateFromFile (@ScriptDir&"\Haken02.png")
    $graphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)
    Sleep (100)
    _GDIPlus_GraphicsDrawImage ($graphic,$haken,150,1)
    Sleep (100)
    _GDIPlus_GraphicsDrawImage ($graphic,$haken,170,32)
    Sleep (100)
    _GDIPlus_GraphicsDrawImage ($graphic,$haken,150,64)
    Sleep (100)
    _GDIPlus_GraphicsDrawImage ($graphic,$haken,150,93)
    Sleep (100)
    _GDIPlus_GraphicsDrawImage ($graphic,$haken,150,123)
    Sleep (100)
    $Progress1 = GUICtrlCreateProgress(220, 5, 230, 25)
    GUICtrlSetData($Progress1, 0)
    $Label1 = GUICtrlCreateLabel("Bitte warten...", 220, 37, 200, 20)
    GUICtrlSetData($Label1, "Bitte warten...")
    $button = GUICtrlCreateButton("Ende", 220, 55, -1, -1)
    $check = GUICtrlCreateCheckbox ("Tooltip",420,55,-1,-1)
    EndIf

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

    Until $msg = $GUI_EVENT_CLOSE

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

    _GDIPlus_ImageDispose ($haken)
    _GDIPlus_Shutdown ()

    [/autoit]
  • Bild "sauber" in eine Gui einfügen

    • Manlius
    • 20. Februar 2010 um 13:53

    Jawoll. Vielen Dank.
    So funktioniert´s^^

  • Bild "sauber" in eine Gui einfügen

    • Manlius
    • 20. Februar 2010 um 00:39

    Hey Leute,
    wie kann ich ein Bild "sauber" in eine GUI einfügen?
    Also zum Beispiel einen Haken. Diesen zeichne ich vorher in Paint vor. Mit z.B. weißem Hintergrund. Wenn ich dieses Bild nun einfüge, wird der ganze weiße Hintergrund ja auch mit in die GUI eingefügt. Kann man das irgendwie einstellen, dass da dann nur ein schwarzer Haken ist, und nicht der Hintergrund des Bildes zu sehen ist? Also, dass AutoIT sozusagen die Hintergrundfarbe ignoriert...

    Danke
    LG
    Manlius

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™