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
Beiträge von Manlius
-
-
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ß
-
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 nichtsDanke euch!
Gruß
-
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]
[/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
NextHier noch die Funktion aus der FF.au3:
Spoiler anzeigen
[autoit]; #FUNCTION# ===================================================================
[/autoit] [autoit][/autoit] [autoit]
; 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"Local $aInfo, $sInfo, $aRet[1][9], $aTmp
[/autoit] [autoit][/autoit] [autoit]
Local $sDelimiterLocal $bTrc = $_FF_COM_TRACE
[/autoit] [autoit][/autoit] [autoit]
$_FF_COM_TRACE = FalseIf _FFGetLength() > 0 Then
[/autoit] [autoit][/autoit] [autoit]
$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$_FF_COM_TRACE = $bTrc
[/autoit]
SetError(__FFError($sFuncName, $_FF_ERROR_GeneralError))
Return $aRet[0][0] = 0
EndFunc ;==>_FFLinksGetAllAuß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 (^ ERRORAber in der Funktion steht doch ganz klar drin, dass ein 2-dimensionales Array erstellt wird?!
Danke
Liebe Grüße
-
Vielen vielen Dank. So funktioniert´s
-
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>
[/autoit] [autoit][/autoit] [autoit]
#include <GDIPlus.au3>
#include <StaticConstants.au3>
#include <GUIConstants.au3>
#include <WinAPI.au3>Opt('MouseCoordMode', 2)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Const $winwidth = 800
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Const $winheight = 600
Global $background = @ScriptDir&"\schach.jpg"
Global $startbutton = @ScriptDir&"\start.png"
Global $figurpath = @ScriptDir&"\figur.png"
Global $ausgangx = 400
Global $ausgangy = 500_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $start = _GDIPlus_ImageLoadFromFile($startbutton)
Global $figurload = _GDIPlus_BitmapCreateFromFile ($figurpath)
Global $iWidth = _GDIPlus_ImageGetWidth ($figurload)
Global $iHeight = _GDIPlus_ImageGetHeight ($figurload)Global $backpic = _GDIPlus_BitmapCreateFromFile ($background)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $width = _GDIPlus_ImageGetWidth($backpic)
Global $height = _GDIPlus_ImageGetHeight($backpic)$hGUI = GUICreate ("Versuch",$winwidth,$winheight)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent ($GUI_EVENT_CLOSE,"ende")
GUISetState (@SW_Show)Global $graphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
[/autoit] [autoit][/autoit] [autoit]
Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics ($width,$height,$graphic)
Global $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsDrawImage($graphic, $backpic, 0, 0)_GDIPlus_GraphicsDrawImage($graphic,$start,370,230)
[/autoit] [autoit][/autoit] [autoit]Global $hFGBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth+20, $iHeight+20, $graphic)
[/autoit] [autoit][/autoit] [autoit]
Global $hFGBackbuffer = _GDIPlus_ImageGetGraphicsContext($hFGBitmap)While 1
[/autoit] [autoit][/autoit] [autoit]
$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 ()
EndIfSwitch $get
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Case $GUI_EVENT_CLOSE
ende ()
EndSwitch
Sleep (20)
WEndFunc Game ()
[/autoit] [autoit][/autoit] [autoit]
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_GDIPlus_MatrixRotate($matrix, 3, "False") ;rotate foreground graphic
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsSetTransform($hFGBackbuffer, $matrix)
_GDIPlus_GraphicsDrawImage($hFGBackbuffer, $figurload, -$iWidth, -$iHeight)_GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hFGBitmap, 355, 250, $iWidth+20, $iHeight+20) ;copy foreground backbuffer to main backbuffer
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDrawImageRect($graphic, $hBitmap, 0, 0, $width, $height) ;copy full drawn image to main screen
WEnd
Sleep (1000)
EndFuncFunc ende ()
[/autoit]
_GDIPlus_GraphicsDispose($graphic)
_GDIPlus_ImageDispose($start)
_GDIPlus_ImageDispose($figurload)
_GDIPlus_MatrixDispose($matrix)
_GDIPlus_Shutdown ()
Exit
EndFunc
EndFuncWenn du die Bilder benötigst, die habe ich weiter oben schonmal hochgeladen...
Danke -
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>
[/autoit] [autoit][/autoit] [autoit]
#include <GDIPlus.au3>
#include <StaticConstants.au3>
#include <GUIConstants.au3>
#include <WinAPI.au3>Opt('MouseCoordMode', 2)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Const $winwidth = 800
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Const $winheight = 600
Global $background = @ScriptDir&"\schach.jpg"
Global $startbutton = @ScriptDir&"\start.png"
Global $figurpath = @ScriptDir&"\figur.png"_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $start = _GDIPlus_ImageLoadFromFile($startbutton)
Global $figurload = _GDIPlus_BitmapCreateFromFile ($figurpath)
Global $iWidth = _GDIPlus_ImageGetWidth ($figurload)
Global $iHeight = _GDIPlus_ImageGetHeight ($figurload)Global $backpic = _GDIPlus_BitmapCreateFromFile ($background)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $width = _GDIPlus_ImageGetWidth($backpic)
Global $height = _GDIPlus_ImageGetHeight($backpic)$hGUI = GUICreate ("Versuch",$winwidth,$winheight)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent ($GUI_EVENT_CLOSE,"ende")
GUISetState (@SW_Show)Global $graphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
[/autoit] [autoit][/autoit] [autoit]
Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics ($width,$height,$graphic)
Global $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsDrawImage($graphic, $backpic, 0, 0)_GDIPlus_GraphicsDrawImage($graphic,$start,370,230)
[/autoit] [autoit][/autoit] [autoit]Global $hFGBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $graphic)
[/autoit] [autoit][/autoit] [autoit]
Global $hFGBackbuffer = _GDIPlus_ImageGetGraphicsContext($hFGBitmap)While 1
[/autoit] [autoit][/autoit] [autoit]
$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 ()
EndIfSwitch $get
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Case $GUI_EVENT_CLOSE
ende ()
EndSwitch
Sleep (20)
WEndFunc Game ()
[/autoit] [autoit][/autoit] [autoit]
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_GDIPlus_MatrixRotate($matrix, 3, "False") ;rotate foreground graphic
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsSetTransform($hFGBackbuffer, $matrix)
_GDIPlus_GraphicsDrawImage($hFGBackbuffer, $figurload, -$iWidth, -$iHeight)_GDIPlus_GraphicsDrawImageRect($hBackbuffer, $hFGBitmap, 370, 270, $iWidth, $iHeight) ;copy foreground backbuffer to main backbuffer
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDrawImageRect($graphic, $hBitmap, 0, 0, $width, $height) ;copy full drawn image to main screen
Sleep (50)
WEnd
Sleep (1000)
EndFuncFunc ende ()
[/autoit]
_GDIPlus_GraphicsDispose($graphic)
_GDIPlus_ImageDispose($start)
_GDIPlus_ImageDispose($figurload)
_GDIPlus_MatrixDispose($matrix)
_GDIPlus_Shutdown ()
Exit
EndFunc -
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ß...
-
Also:
[autoit]_GDIPlus_ImageDispose ($hImage)
[/autoit]
? -
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
-
Hey Leute,
wie kann ich ne Grafik, die ich zuvor mit _GDIPlus gezeichnet hab, wieder entfernen?
[autoit]
Mit_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
-
Okay so geht´s danke
-
Hey Leute,
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GDIPlus.au3>
#include <StaticConstants.au3>
#include <GUIConstants.au3>Const $width = 800
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Const $height = 600
Global $background = @ScriptDir&"\schach.jpg"
Global $startbutton = @ScriptDir&"\start.png"
Global $figur = @ScriptDir&"\figur.gif"$hGUI = GUICreate ("Game",$width,$height)
[/autoit] [autoit][/autoit] [autoit]
_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)While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$get = GUIGetMsg ()
Switch $get
Case $GUI_EVENT_CLOSE
ende ()
Case $image
MsgBox (0,"GO","START!")
EndSwitch
Sleep (50)
WEndFunc ende ()
[/autoit]
_GDIPlus_Shutdown ()
_GDIPlus_GraphicsDispose($graphic)
_GDIPlus_ImageDispose($start)
Exit
EndFuncWie 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
-
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?
DankeLG
Manlius -
mhm...hab mal alle sicherheitseinstellungen runtergedreht: Ohne Erfolg...
Hat niemand ne Ahnung zu punkt 2? -
[autoit]
[/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
WEndEdit: uhhh zu langsam :D:D
-
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".:
[/autoit]
Return $o_object.document.documentElement.outerHTML
Return $o_object.document.documentElement^ ERRORDas heißt der Fehler ist in dieser Funktion:
Spoiler anzeigen
[autoit];===============================================================================
[/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 ;==>_IEDocReadHTMLUnd hier, ein ausschnitt, wie ich die Funktion in meinem Script nutze:
Spoiler anzeigen
[autoit]Do
[/autoit]
$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 @errorDanke
LG
Manlius -
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>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <GDIPLus.au3>$hGUI = GUICreate ("IE",500,200,-1,-1)
[/autoit] [autoit][/autoit] [autoit]
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)GUISetState ()
[/autoit] [autoit][/autoit] [autoit]Do
[/autoit] [autoit][/autoit] [autoit]
$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)
EndIfUntil $msg = $GUI_EVENT_CLOSE
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_ImageDispose ($haken)
[/autoit]
_GDIPlus_Shutdown () -
Jawoll. Vielen Dank.
So funktioniert´s^^ -
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