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

  • Autoit Kreisförmiges GUI?

    • UEZ
    • 30. Juli 2015 um 17:24

    rundes Fenster - rahmenlos - beliebige Fensterformen - geht sowas mit Autoit

  • Kicktipp Bundesliga 2015/2016

    • UEZ
    • 27. Juli 2015 um 20:22
    Zitat von Tweaky

    Bin auch wieder dabei.
    Letztes Jahr war es ein Zweikampf mit UEZ den ich knapp gewonnen habe.
    Leider waren wir auch nur zu zweit :whistling:

    @Yaerox
    bitte nicht nur wie letztes Jahr anmelden auch tippen ^^

    Diesmal kriege ich dich! ^^

  • Kicktipp Bundesliga 2015/2016

    • UEZ
    • 26. Juli 2015 um 18:37

    Bald fängt die neue Saison an und wer mitmachen möchte, einfach auf Kicktipp registrieren und unter http://www.kicktipp.de/autoit15-16/?tid=11686934 Mitglied werden.

    Ich hoffe auf zahlreiche Teilnehmer.

    PS: bitte auch KONTINUIERLICH mittippen :!:
    PSS: wer sich anmeldet und nicht tippt, wird "gekickt" :!:

  • kopieren in win7 xp usw. Ich nix verstehen warum geht nicht?

    • UEZ
    • 17. Juli 2015 um 13:32

    Das ist nicht einfach zu beantworten, wo das Problem liegen könnte.

    Vielleicht hast du Leerzeichen in $kopier_quelle oder irgendwas stimmt nicht mit dem Inhalt der Variable.

    Kannst ja dies probieren:

    AutoIt
    $iResultat = DirCopy ($kopier_quelle, @DesktopCommonDir, $FC_OVERWRITE)
    If Not $iResultat Then MsgBox(16, "Fehler", $kopier_quelle & " konnte nicht nach " & @DesktopCommonDir & " kopiert werden!")
  • GUICtrlPic nach dem laden mit GDI+ wieder leeren (transparent)

    • UEZ
    • 12. Juli 2015 um 20:22

    So funzt's auch

    AutoIt
    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    
    
    Opt('GUIOnEventMode', 1)
    
    
    $sPath = 'c:\Program Files (x86)\AutoIt3\Examples\GUI\'
    
    
    _GDIPlus_Startup()
    
    
    $hGui = GUICreate('Test', 800, 600)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseGui')
    GUISetBkColor(0xF0F0F0)
    GUICtrlCreatePic($sPath & "msoobe.jpg", 0, 0, 800, 600)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $idPic = GUICtrlCreatePic('', 80, 60, 440, 440)
    GUISetState(@SW_SHOW, $hGui)
    
    
    $hPic = GUICtrlGetHandle($idPic)
    $aCtrlSize = WinGetClientSize($hPic)
    
    
    $hBitmap = _GDIPlus_BitmapCreateFromScan0($aCtrlSize[0], $aCtrlSize[1])
    $hGfxCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    $hImage = _GDIPlus_BitmapCreateFromFile($sPath & 'Torus.png')
    _GDIPlus_GraphicsDrawImageRect($hGfxCtxt, $hImage, 0, 0, $aCtrlSize[0], $aCtrlSize[1])
    
    
    $hBMP = _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap)
    _WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hBMP))
    _WinAPI_DeleteObject($hBMP)
    
    
    MsgBox(0, 'Test', 'Nach dem schließen dieser MsgBox soll das große Bild Torus.png weg sein' & @CR & 'und nur noch das kleine Bild angezeigt werden.')
    
    
    _GDIPlus_GraphicsClear($hGfxCtxt, 0x00000000)
    _GDIPlus_GraphicsDrawImageRect($hGfxCtxt, $hImage, 0, 0, $aCtrlSize[0] / 2, $aCtrlSize[1] / 2)
    $hBMP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hBMP))
    _WinAPI_DeleteObject($hBMP)
    _WinAPI_RedrawWindow($hGui, 0, 0, BitOR($RDW_INVALIDATE, $RDW_ALLCHILDREN))
    
    
    WinWaitClose($hGui)
    _GDIPlus_GraphicsDispose($hGfxCtxt)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_BitmapDispose($hImage)
    _GDIPlus_Shutdown()
    Exit
    
    
    Func _CloseGui()
    	GUIDelete($hGui)
    EndFunc
    Alles anzeigen


    Getestet auf Win8 x64.

  • Array variable has incorrect number of subscripts...

    • UEZ
    • 9. Juli 2015 um 23:12

    Man sollte i.d.R. nie Global in Funktionen verwenden!

    AutoIt
    #include <File.au3>
    #include <FileConstants.au3>
    Global $BotSelected, $dir, $folder = "c:\temp" ;$folder = @AppDataDir & "\ClashSA Loader\Download\files\"
    _CountFiles()
    Global $FileOpenArray[$dir[0]]
    Global $FilePathArray[$dir[0]]
    Global $FileReadArray[$dir[0]]
    Global $BotInfoLines[$dir[0]][5]
    Global $BotSelected
    Global $FileOpenArray[$dir[0]]
    Global $FilePathArray[$dir[0]]
    Global $FileReadArray[$dir[0]]
    Global $BotInfoLines[$dir[0]][5]
    
    
    _ReadFiles()
    
    
    Func _CountFiles()
    	Global $dir = _FileListToArray($folder, "*.edx", 1)
    	MsgBox(0, "", $dir[0])
    	If @error = 1 Then
    		MsgBox(16, "Error", "Folder not found or invalid" & @CR & @CR & "Please contact an admin of ClashSA", 10);Botfiles Ordner fehlt
    		Exit
    	EndIf
    	If @error = 4 Then
    		MsgBox(16, "Error", "No File(s) Found" & @CR & @CR & "Please contact an admin of ClashSA", 10);Botfiles Dateien fehlen
    		Exit
    	EndIf
    EndFunc   ;==>_CountFiles
    
    
    Func _ReadFiles()
    	For $x = 0 To $dir[0] - 1 Step 1; zählt bis anzahl der files in ordner X
    		$FilePathArray[$x] = $folder & "\" & $x & ".edx"; erstellt $X Pfad Dateien mit [$X].edx Namen
    		$FileOpenArray[$x] = FileOpen($FilePathArray[$x], $FO_READ); Öffnet Datei $X und speichert sie als Open session
    		If $FileOpenArray[$x] = -1 Then
    			MsgBox($MB_SYSTEMMODAL, "File not found", "An error occurred when reading the file " & $FilePathArray[$x] & "." & @CR & @CR & "Please contact an admin of ClashSA", 10)
    			Return False
    		EndIf
    		ConsoleWrite(UBound($FileReadArray) - 1 & @CRLF)
    		For $h = 0 To 4 Step 1;normal To 3 aber wegen der 5. Zeile
    			$hAdd = $h + 1
    			$FileReadArray[$h] = FileReadLine($FileOpenArray[$x], $hAdd)
    			$BotInfoLines[$x][$h] = $FileReadArray[$h]
    ;~ 		MsgBox(0, $count, $BotInfoLines[$x][$h] & "[" & $x & "]" & "[" & $h & "]" & @CR & $FilePathArray[$x]);only for debugging
    		Next
    		FileClose($FileOpenArray[$x])
    		$h = 0
    	Next
    	_ArrayDisplay($BotInfoLines, "bot")
    EndFunc   ;==>_ReadFiles
    Alles anzeigen

    Ich sehe ein Array mit dem Inhalt der *.edx Dateien. Ich habe nur den Pfad auf C:\Temp umgelegt.

  • Array variable has incorrect number of subscripts...

    • UEZ
    • 9. Juli 2015 um 21:23

    Was gibt dir denn

    AutoIt
    ConsoleWrite(UBound($FileReadArray) - 1 & @CRLF)
    For $h = 0 To 4 Step 1;normal To 3 aber wegen der 5. Zeile
    		$hAdd = $h + 1
    		$FileReadArray[$h]= FileReadLine($FileOpenArray[$x], $hAdd)
    		$BotInfoLines[$x][$h] = $FileReadArray[$h]
    ;~ 		MsgBox(0, $count, $BotInfoLines[$x][$h] & "[" & $x & "]" & "[" & $h & "]" & @CR & $FilePathArray[$x]);only for debugging
    	Next

    aus?

    Btw, die Begriffe "Bot*" sind nicht besonderns geschickt gewählt.

  • GDI Plus Bild aus dem Backbuffer zeichen

    • UEZ
    • 9. Juli 2015 um 20:53

    Du kannst auch das Picture Control nehmen oder machst den Button "Flat", wenn du den Button nicht als Button nehmen willst.

    Dazu müsste mein Code umgeschrieben werden, aber Oscar ist ja eingesprungen, so dass du seine UDF nehmen kannst.

  • GDI Plus Bild aus dem Backbuffer zeichen

    • UEZ
    • 9. Juli 2015 um 16:23

    Wenn du tranparente PNG Bilder als Buttons verwenden möchtest, würde ich dir eher empfehlen die PNGs in den Button zu kopieren, um einfach das Neuzeichen zu vermeiden.

    So was zum Beispiel:

    AutoIt
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    
    
    Global Const $hGUI = GUICreate("Test", 300, 250)
    GUISetBkColor(0x808080)
    Global Const $idButton = GUICtrlCreateButton("", 55, 20, 193, 184, $BS_BITMAP)
    SendImageToBtnCtrl("c:\Program Files (x86)\AutoIt3\Beta\Examples\GUI\Torus.png", $idButton)
    GUISetState()
    
    
    Do
    	Switch GUIGetMsg()
    		Case $GUI_EVENT_CLOSE
    			GUIDelete()
    			Exit
    	EndSwitch
    Until False
    
    
    Func SendImageToBtnCtrl($sFile, $iCtrl, $bDeleteBmp = True)
    	If Not FileExists($sFile) Then Return SetError(1, 0, 0)
    	_GDIPlus_Startup()
    	Local Const $hImage = _GDIPlus_ImageLoadFromFile($sFile)
    	If @error Then Return SetError(2, 0, 0)
    	Local Const $hBitmapGDI = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
    	_WinAPI_DeleteObject(_SendMessage(GUICtrlGetHandle($iCtrl), $BM_SETIMAGE, $IMAGE_BITMAP, $hBitmapGDI))
    	_GDIPlus_ImageDispose($hImage)
    	_GDIPlus_Shutdown()
    	If $bDeleteBmp Then
    		_WinAPI_DeleteObject($hBitmapGDI)
    		Return 1
    	EndIf
    	Return $hBitmapGDI
    EndFunc
    Alles anzeigen

    Funzt ab Vista. Für WinXP muss man einen Workaround machen, damit die Hintergrundfarbe des transparenten Bildes nicht schwarz ist.

  • MsgBox ohne skript Pause

    • UEZ
    • 8. Juli 2015 um 14:04

    Von hier: https://www.autoitscript.com/forum/topic/15…comment-1149008

    Code
    MessageBox("Text", "Caption", 64)
    For $i = 0 To 10
    	ConsoleWrite("Spleep" & @CRLF)
    	Sleep(1000)
    Next
    Exit
    
    
    Func MessageBox($sText, $sCaption, $uType, $hWnd = 0)
    	Local $dwOpcodeSize = 50
    	Local $dwTextSize = StringLen($sText) + 1
    	Local $dwCaptionSize = StringLen($sCaption) + 1
    	Local $dwSize = $dwOpcodeSize + $dwTextSize + $dwCaptionSize
    
    
    	Local $pAddress = VirtualAlloc(0, $dwSize, 0x00001000, 0x40) ;MEM_COMMIT, PAGE_EXECUTE_READWRITE
    	Local $hProcess = GetCurrentProcess()
    	Local $pText = $pAddress + $dwOpcodeSize
    	Local $tText = DllStructCreate("CHAR[" & $dwTextSize & "]")
    	DllStructSetData($tText, 1, $sText)
    	WriteProcessMemory($hProcess, $pText, DllStructGetPtr($tText, 1), $dwTextSize)
    
    
    	Local $pCaption = $pText + $dwTextSize
    	Local $tCaption = DllStructCreate("CHAR[" & $dwCaptionSize & "]")
    	DllStructSetData($tCaption, 1, $sCaption)
    	WriteProcessMemory($hProcess, $pCaption, DllStructGetPtr($tCaption, 1), $dwCaptionSize)
    
    
    	Local $pMessageBoxA = GetProcAddress(GetModuleHandle("user32.dll"), "MessageBoxA")
    	Local $pVirtualFree = GetProcAddress(GetModuleHandle("kernel32.dll"), "VirtualFree")
    
    
    	Local $sOpcode = "0x"
    
    
    	$sOpcode &= "68" & SwapEndian($uType) ;push uType
    	$sOpcode &= "68" & SwapEndian($pCaption) ;push sCaption
    	$sOpcode &= "68" & SwapEndian($pText) ;push sText
    	$sOpcode &= "68" & SwapEndian($hWnd) ;push hWnd
    	$sOpcode &= "B8" & SwapEndian($pMessageBoxA) ;mov eax, MessageBoxA
    	$sOpcode &= "FFD0" ;call eax
    
    
    	$sOpcode &= "68" & SwapEndian(0x8000) ;push MEM_RELEASE (dwFreeType)
    	$sOpcode &= "68" & SwapEndian(0) ;push dwSize
    	$sOpcode &= "68" & SwapEndian($pAddress) ;push pAddress
    	$sOpcode &= "B8" & SwapEndian($pVirtualFree) ;mov eax, VirtualFree
    	$sOpcode &= "FFD0" ;call eax
    
    
    	$sOpcode &= "C3" ;ret
    
    
    	Local $tOpcode = DllStructCreate("BYTE[50]", $pAddress)
    	DllStructSetData($tOpcode, 1, $sOpcode)
    	WriteProcessMemory($hProcess, $pAddress, DllStructGetPtr($tOpcode, 1), $dwOpcodeSize)
    
    
    	Local $hThread = CreateThread(0, 0, $pAddress, 0, 0)
    	CloseHandle($hThread)
    EndFunc   ;==>MessageBox
    
    
    Func VirtualAlloc($pAddress, $dwSize, $flAllocationType, $flProtect)
    	Return DllCall("kernel32.dll", "ptr", "VirtualAlloc", _
    			"ptr", $pAddress, _
    			"DWORD", $dwSize, _
    			"DWORD", $flAllocationType, _
    			"DWORD", $flProtect)[0]
    EndFunc   ;==>VirtualAlloc
    
    
    Func CreateThread($pThreadAttributes, $dwStackSize, $pStartAddress, $pParameter, $dwCreationFlags)
    	Return DllCall("kernel32.dll", "HANDLE", "CreateThread", _
    			"ptr", $pThreadAttributes, _
    			"DWORD", $dwStackSize, _
    			"ptr", $pStartAddress, _
    			"ptr", $pParameter, _
    			"DWORD", $dwCreationFlags, _
    			"ptr", 0)[0]
    EndFunc   ;==>CreateThread
    
    
    Func CloseHandle($hObject)
    	Return DllCall("kernel32.dll", "BOOL", "CloseHandle", _
    			"HANDLE", $hObject)[0]
    EndFunc   ;==>CloseHandle
    
    
    Func GetProcAddress($hModule, $sProcName)
    	Return DllCall("kernel32.dll", "ptr", "GetProcAddress", _
    			"HANDLE", $hModule, _
    			"str", $sProcName)[0]
    EndFunc   ;==>GetProcAddress
    
    
    Func GetModuleHandle($sModuleName)
    	Return DllCall("kernel32.dll", "HANDLE", "GetModuleHandle", _
    			"str", $sModuleName)[0]
    EndFunc   ;==>GetModuleHandle
    
    
    Func WriteProcessMemory($hProcess, $lpAddress, $lpBuffer, $nSize)
    	Return DllCall("kernel32.dll", "BOOL", "WriteProcessMemory", _
    			"HANDLE", $hProcess, _
    			"ptr", $lpAddress, _
    			"ptr", $lpBuffer, _
    			"DWORD", $nSize, _
    			"ptr", 0)[0]
    EndFunc   ;==>WriteProcessMemory
    
    
    Func SwapEndian($dwValue)
    	Return Hex(Binary($dwValue))
    EndFunc   ;==>SwapEndian
    
    
    Func GetCurrentProcess()
    	Return DllCall("kernel32.dll", "HANDLE", "GetCurrentProcess")[0]
    EndFunc   ;==>GetCurrentProcess
    Alles anzeigen


    Ich habe es nicht getestet!

  • GUI als Bild abspeichern

    • UEZ
    • 3. Juli 2015 um 16:27
    Zitat von Andy

    $Leinwand=GetLeinwand($hwnd_GUI,Position,Größe) ;soweit ok
    $Pinsel=DefinierePinsel($Leinwand,Eigenschaften) ;auch ok

    MaleLinie($Leinwand,x1,y1,x2,y2,Pinsel) ;wie sonst^^
    MaleRechteck($Leinwand,bla...)
    MaleIrgendwas($Leinwand,blub...)
    MaleFilter($Leinwand,tralala...)

    Filesave($Leinwand,Dateiname) ; fertig


    Das würde ich so lösen:

    AutoIt
    #include <GDIPlus.au3>
    
    
    Global $StarteGDIP = _GDIPlus_Startup, $L = _GDIPlus_ImageGetGraphicsContext, $BeendeGDIP = _GDIPlus_Shutdown, _
    	   $MaleLinie = _GDIPlus_GraphicsDrawLine, $P = _GDIPlus_PenCreate, $B = _GDIPlus_BitmapCreateFromScan0, $SpeichereBild = _GDIPlus_ImageSaveToFile, _
    	   $VerwerfePinsel = _GDIPlus_PenDispose, $VerwerfeLeinwand = _GDIPlus_GraphicsDispose
    
    
    $StarteGDIP()
    $Bild = $B(400, 300)
    $Leinwand = $L($Bild)
    $Pinsel = $P(0xFFFF0000)
    $MaleLinie($Leinwand, 0, 0, 400, 300, $Pinsel)
    $SpeichereBild($Bild, @ScriptDir & "\Test.jpg")
    $VerwerfePinsel($Pinsel)
    $VerwerfeLeinwand($Leinwand)
    $BeendeGDIP()
    ShellExecute(@ScriptDir & "\Test.jpg")
    Alles anzeigen

    Abgesehen davon gebe ich dir recht, dass das Verstehen der GDI / GDI+ Funktionen (Aufbau und Anwendungen) nicht einfach sind, aber ich der Meinung bin, dass wenn mal der Groschen gefallen ist, das Grafik System verständlicher ist, als am Anfang. Man muss nur intensiv damit auseinander setzen.

  • GUI als Bild abspeichern

    • UEZ
    • 3. Juli 2015 um 13:18
    Zitat von Andy

    UEZ, du weisst genau, dass ich das Beispiel aus der Hilfe kopiert und um 3-4 Zeilen eigenen Code ergänzt habe :D Ansonsten wären GARKEINE _Dispose()-Aufrufe im Script enthalten 8)
    *whispermode ON* und wenn es statt 12 auch 12000 Pens wären, Windows sorgt beim Beenden des Scripts dafür, dass der Speicher freigegeben wird...*whispermode OFF*

    Übrigens einer der Gründe, wieso ich die Variante mit _WinAPI_ - Funktionen vorziehe, da kümmerst du dich selbst um deinen Speicher bzw. dieser wird sowieso von Windows abgewickelt.. Für o.g. Beispiel brauche ich damit nicht mal die Hälfte der Befehle. Mal davon abgesehen, dass ich die _GDIPlus_- Funktionen sowieso nur zu 5% verstehe (und deswegen auch nutze).
    Bis jetzt konnte mir noch niemand erklären, worin der Unterschied der GDI+ in Bezug auf -Graphics, -Image, -Bitmap, HBitmap usw besteht, ich habe EINE einzige GUI auf der ich mit mehreren Objekten jedes mal Saltos schlagen muss, um "ein bisschen" Grafik anzuzeigen :| .

    Da hast du recht, dass nach dem Beenden des Skriptes der Speicher wieder freigegeben wird, aber wenn jemand dies in einer endlosen Schleife tut, gibt's eben ein Speicherleck.

    Die Unterschiede zwischen GDI und GDI+ sind leider in der Hilfe nicht gut dokumentiert und viele schmeißen auch die Begriffe wild durcheinander. Aber in GDI+ gibt es einige Befehle, die die Brücke zu GDI (HBitmap) schlagen.

    Die Unterschiede zwischen Bitmap und Image (in GDI+) und Bitmap (GDI) und Bitmap (GDI+) sind eben da und müssen verstanden sein, wenn man beide kombiniert nutzen möchte. Wenn man einmal den Bogen raus hat, ist es nicht mehr so kompliziert.

    Der Hauptunterschied ist wohl der interne Aufbau, aber wer möchte, kann in MSDN sich informieren.

  • ListView sortieren, erst Spalte 1, dann Spalte 2, dann Spalte 3 wie in Excel

    • UEZ
    • 2. Juli 2015 um 21:09

    Probiere es mal damit: Array sortieren

  • GUI als Bild abspeichern

    • UEZ
    • 2. Juli 2015 um 20:06

    Andy, du solltest die _GDIPlus_PenCreate Ressourcen "sauber" freigeben, wenn du sie so oft benutzt. ;)

    12x erstellt und nur 1x freigegeben.


    Oder so:

    C
    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    
    
    Local $hGUI, $hGraphic, $hPen
    
    
    ; Create GUI
    $hGUI = GUICreate("GDI+", 400, 300)
    GUISetState(@SW_SHOW)
    
    
    ; Draw line
    _GDIPlus_Startup()
    $hGraphic_hwnd = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hImage = _GDIPlus_BitmapCreateFromGraphics(400, 300, $hGraphic_hwnd)
    $hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage)
    _GDIPlus_GraphicsSetSmoothingMode($hGraphic, 4)
    
    
    $hPen = _GDIPlus_PenCreate(0xFF7f7f7f, 300)
    _GDIPlus_GraphicsDrawRect($hGraphic, 0, 0, 400, 300, $hPen) ;Hintergrund grau
    
    
    
    
    _GDIPlus_PenSetColor($hPen, 0xFFFFFFFF)
    _GDIPlus_PenSetWidth($hPen, 2)
    _GDIPlus_GraphicsDrawRect($hGraphic, 50, 50, 100, 200, $hPen) ;Rechteck weiß
    
    
    _GDIPlus_PenSetWidth($hPen, 3)
    For $i = 1 To 10  ;Linien
    	_GDIPlus_PenSetColor($hPen, Random(0xFF000000, 0xFFFFFFFF, 1))
        _GDIPlus_GraphicsDrawLine($hGraphic, 10, 10, Random(10, 390), 290, $hPen)
    Next
    ; Loop until the user exits.
    
    
    _GDIPlus_GraphicsDrawImage($hGraphic_hwnd, $hImage, 0, 0)
    
    
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    
    
    
    
    FileDelete("GDIPlus_Image.jpg")
    $a = _GDIPlus_ImageSaveToFile($hImage, "GDIPlus_Image.jpg")
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $a = ' & $a & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    
    
    
    
    ShellExecute("GDIPlus_Image.jpg")
    
    
    
    
    ; Clean up resources
    _GDIPlus_PenDispose($hPen)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    Alles anzeigen

    :D

  • Active Directory Funktionen - Neue Version 1.5.0.0 freigegeben!

    • UEZ
    • 1. Juli 2015 um 16:14
    Zitat von water

    Alles senkrecht :)

    Hast wohl die blaue Pille genommen. ;)

  • Zukunft für AutoIt.de - Impressionen und Ideen

    • UEZ
    • 26. Juni 2015 um 23:32

    Ich würde vorschlagen, dass Rene den Server an eine(n) abgibt, der/die noch Lust und Zeit hat, AutoIt.de komplett zu übernehmen.

    Dann müsste man sich noch Gedanken über die Admins machen...

    Der momentane Zombie Zustand bringt niemanden was und vertreibt eher die Leute.

  • GDI+ & LAYERED Window == Keine Live Preview?

    • UEZ
    • 26. Juni 2015 um 21:52

    Da du nur sehr wage die tatsächliche GUI beschreibst, ist es sehr schwer dir richtig zu helfen.

    Vielleicht zeigst du uns mal, wie die tatsächliche GUI aussieht, so dass wir nicht "umsonst" Zeit verschwenden.

  • GDI+ & LAYERED Window == Keine Live Preview?

    • UEZ
    • 26. Juni 2015 um 20:42

    Probiere es mal damit:

    AutoIt
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    
    
    _GDIPlus_Startup()
    
    
    Global Const $STM_SETIMAGE = 0x0172
    Global $Image = _GDIPlus_ImageLoadFromFile(StringRegExpReplace(@AutoItExe, "(?i)AutoIt(?:[\dx_]+)\.exe", "Examples\\GUI\\Torus.png"))
    Global $Width = 400, $Height = 300
    Global $Gui = GUICreate("Test Gui", $Width, $Height, -1, -1, BitOR($WS_POPUP, $WS_GROUP, $WS_SYSMENU))
    Global $iPic_Bg = GUICtrlCreatePic("", 0, 0, $Width, $Height)
    GUICtrlSetState(-1, $GUI_DISABLE)
    Global $hBrush = _GDIPlus_LineBrushCreateFromRect(_GDIPlus_RectFCreate(0, 0, $Width, $Height), 0xFF009917, 0xFF0F6029, 1)
    Global $hBitmap = _GDIPlus_BitmapCreateFromScan0($Width, $Height)
    Global $hGraphic = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsFillRect($hGraphic, 0, 0, $Width, $Height, $hBrush)
    _GDIPlus_GraphicsDrawImageRectRect($hGraphic, $Image, 0, 0, 92, 90, 0, 0, 92, 90)
    Global $hBitmap_GDI = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_DeleteObject(GUICtrlSendMsg($iPic_Bg, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap_GDI))
    _GDIPlus_ImageDispose($Image)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_ImageDispose($hBitmap)
    
    
    GUICtrlCreateLabel("Wo ist der Text und der Button, in der Live Vorschau, wenn das Fenster Minimiert ist?", 1, 94, 360, 152, $WS_BORDER)
    GUICtrlSetFont(-1, 24, 800, 0, "Arial", 5)
    GUICtrlSetColor(-1, 0xEEEEEE)
    GUICtrlSetBkColor(-1, -2)
    Global $BtnExit = GUICtrlCreateButton("Beenden", 150, 256, 100, 25)
    Global $BtnMinimize = GUICtrlCreateButton("Minimieren", 260, 256, 100, 25)
    
    
    GUISetState(@SW_SHOW, $Gui)
    
    
    While 1
    	Switch GUIGetMsg()
    		Case $GUI_EVENT_CLOSE, $BtnExit
    			ExitLoop
    		Case $BtnMinimize
    			WinSetState($Gui, "", @SW_MINIMIZE)
    	EndSwitch
    WEnd
    
    
    _WinAPI_DeleteObject($hBitmap_GDI)
    _GDIPlus_Shutdown()
    GUIDelete($Gui)
    Alles anzeigen
    Zitat von Taz77

    Ps: Es macht mir ihrgentwie Angst wenn eine Foren Legende wie UEZ so was schreibt

    Arbeite ich bei MS?

  • GDI+ & LAYERED Window == Keine Live Preview?

    • UEZ
    • 26. Juni 2015 um 11:20

    Warum im Vorschaufenster der Text nicht angezeigt wird, weiß ich nicht, aber du könntest den Text in das Bild schreiben, so dass du keine 2. GUI benötigst.

  • Start- / Endadresse Skript im Speicher finden

    • UEZ
    • 25. Juni 2015 um 20:06

    Dekompilier-, Programm-, Anti-Hack-Schutz, etc. ist ein Kampf gegen Windmühlen - Don Quichotte lässt Grüßen...

    Was machst du denn so tolles, dass du mit allen Mitteln es schützen willst?

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™