Ein kleiner Schönheitsfehler ist noch drin.
Wenn man das Skript startet ist zu Beginn ganz ganz kurz die Lupe weiß und zeigt dann erst das Bild an.
Ein kleiner Schönheitsfehler ist noch drin.
Wenn man das Skript startet ist zu Beginn ganz ganz kurz die Lupe weiß und zeigt dann erst das Bild an.
Danke euch beiden.
Das Skript ist nun viel besser als vorher.
Es flackert nichts mehr.
Das Fadenkreuz in der Lupe bewegt sich nicht.
Einfach top.
Danke
Ich hab noch eine Idee, aber es funktioniert nicht und ich weiß nicht wieso
Beim folgenden Skript ist das Fadenkreuz mittig in der Lupe und flackert nicht
#Region ;************ Includes ************
#include <WinAPIGdi.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <Misc.au3>
#EndRegion ;************ Includes ************
Global $hGui_fadenkreuz1, $hGui_fadenkreuz2
Global $aStart_Pos1, $idLabel_ausschnitt
Global $UserDLL = DllOpen("user32.dll")
Global $aMouse_Pos
Global $iDesktopLeft = 0
Global $iDesktopTop = 0
Global $iDesktopRight = @DesktopWidth
Global $iDesktopBottom = @DesktopHeight
Global $hGui_lupe
Global Const $x_gui = 100 ;Größe des Vergrößerungsfensters
Global Const $y_gui = 100 ;Größe des Vergrößerungsfensters
Global Const $iKreuz_laenge = 10000 ;Länge des Fadenkreuzes (muss mindestens doppelt so gross sein wie die Breite bzw. Höhe der Bildschirme)
Global $x_verschieben = 120 ;um wie viel das Vergrößerungsfenster in X verschoben werden soll, wenn der Cursor zu nah an den Bildschirmrand kommt
Global $y_verschieben = 120 ;um wie viel das Vergrößerungsfenster in Y verschoben werden soll, wenn der Cursor zu nah an den Bildschirmrand kommt
;AutoItSetOption
Opt("GUICloseOnESC", 0) ;1=ESC beendet, 0=ESC schließt nicht
Opt('MouseCoordMode', 1)
Opt('GUIOnEventMode', 1)
;~ Opt("TrayIconDebug", 1) ; 0=keine Info, 1=Debug Zeileninfo
_auswahl()
Func _auswahl()
Local $status, $hGui_Auswahl, $aStart_Pos
$hGui_Auswahl = GUICreate("Screenshot", $iDesktopRight - $iDesktopLeft, $iDesktopBottom - $iDesktopTop, 0, 0, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW)) ; erstellen eines GUI-Fensters
WinSetTrans($hGui_Auswahl, "", 20)
GUISetState()
$aMouse_Pos = MouseGetPos()
$status = _lupe_1_punkt() ;evtl. "Abbruch"
While 1
If _IsPressed("01", $UserDLL) Then ;Linke Maustaste gedrückt
$aStart_Pos = MouseGetPos()
$status = _lupe_2_punkt() ;evtl. "Abbruch"
ExitLoop
EndIf
WEnd
EndFunc ;==>_auswahl
Func _lupe_1_punkt()
$idLabel_ausschnitt = GUICtrlCreateLabel('', $iDesktopLeft, $iDesktopTop, 1, 1, $SS_SUNKEN)
GUICtrlSetBkColor($idLabel_ausschnitt, 0xFF0000) ;rötliche Farbe des Ausschnittes
$aStart_Pos1 = MouseGetPos()
$hGui_fadenkreuz1 = GUICreate("Kreuz", $iKreuz_laenge, 1, $aStart_Pos1[0] - $iKreuz_laenge / 2, $aStart_Pos1[1], $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW)) ; Vergrößerungsfenster
GUISetBkColor(0x0000FF, $hGui_fadenkreuz1)
$hGui_fadenkreuz2 = GUICreate("Kreuz", 1, $iKreuz_laenge, $aStart_Pos1[0], $aStart_Pos1[1] - $iKreuz_laenge / 2, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW)) ; Vergrößerungsfenster
GUISetBkColor(0x0000FF, $hGui_fadenkreuz2)
WinSetOnTop($hGui_fadenkreuz1, "", 1)
WinSetOnTop($hGui_fadenkreuz2, "", 1)
GUISetState(@SW_SHOW, $hGui_fadenkreuz1)
GUISetState(@SW_SHOW, $hGui_fadenkreuz2)
$hGui_lupe = GUICreate("Lupe", $x_gui - 5, $y_gui - 5, 0, 0, $WS_POPUPWINDOW, $WS_EX_TOOLWINDOW) ; Vergrößerungsfensters / Breite und Höhe jeweils -5, damit das Kreuz mittig ist (ermittelt durch probieren)
While Not _IsPressed("01", $UserDLL) ;Linke Maustaste nicht gedrückt
_lupe_verschieben()
If _IsPressed("1B", $UserDLL) Then Return "Abbruch" ;Bereich Abbruch >>> "Abbruch" zurückgeben
WEnd
$aStart_Pos1 = MouseGetPos()
Return $aStart_Pos1
EndFunc ;==>_lupe_1_punkt
Func _lupe_2_punkt()
While 1
While _IsPressed("01", $UserDLL) ;Linke Maustaste gedrückt
_lupe_verschieben()
;links oben nach rechts unten:
If $aMouse_Pos[1] > $aStart_Pos1[1] And $aMouse_Pos[0] > $aStart_Pos1[0] Then GUICtrlSetPos($idLabel_ausschnitt, $aStart_Pos1[0] + 1 - $iDesktopLeft, $aStart_Pos1[1] + 1 - $iDesktopTop, $aMouse_Pos[0] - $aStart_Pos1[0], $aMouse_Pos[1] - $aStart_Pos1[1]) ;X und Y + 1 >>> sonst wird das Fenster bei einer schnellen Bewegung nicht bis ganz an den Rand gezogen
;links unten nach rechts oben:
If $aMouse_Pos[1] < $aStart_Pos1[1] And $aMouse_Pos[0] > $aStart_Pos1[0] Then GUICtrlSetPos($idLabel_ausschnitt, $aStart_Pos1[0] + 1 - $iDesktopLeft, $aMouse_Pos[1] + 1 - $iDesktopTop, $aMouse_Pos[0] - $aStart_Pos1[0], $aStart_Pos1[1] - $aMouse_Pos[1]) ;X und Y + 1 >>> sonst wird das Fenster bei einer schnellen Bewegung nicht bis ganz an den Rand gezogen
;rechts oben nach links unten:
If $aMouse_Pos[1] > $aStart_Pos1[1] And $aMouse_Pos[0] < $aStart_Pos1[0] Then GUICtrlSetPos($idLabel_ausschnitt, $aMouse_Pos[0] + 1 - $iDesktopLeft, $aStart_Pos1[1] + 1 - $iDesktopTop, $aStart_Pos1[0] - $aMouse_Pos[0], $aMouse_Pos[1] - $aStart_Pos1[1]) ;X und Y + 1 >>> sonst wird das Fenster bei einer schnellen Bewegung nicht bis ganz an den Rand gezogen
;rechts unten nach links oben:
If $aMouse_Pos[1] < $aStart_Pos1[1] And $aMouse_Pos[0] < $aStart_Pos1[0] Then GUICtrlSetPos($idLabel_ausschnitt, $aMouse_Pos[0] - $iDesktopLeft, $aMouse_Pos[1] + 1 - $iDesktopTop, $aStart_Pos1[0] - $aMouse_Pos[0], $aStart_Pos1[1] - $aMouse_Pos[1]) ;X und Y + 1 >>> sonst wird das Fenster bei einer schnellen Bewegung nicht bis ganz an den Rand gezogen
WEnd
Sleep(10)
Return $idLabel_ausschnitt
WEnd
EndFunc ;==>_lupe_2_punkt
Func _lupe_verschieben()
$aMouse_Pos = MouseGetPos()
WinMove($hGui_lupe, "", $x_verschieben + $aMouse_Pos[0], $y_verschieben + $aMouse_Pos[1])
WinMove($hGui_fadenkreuz1, "", $aMouse_Pos[0] - $iKreuz_laenge / 2, $aMouse_Pos[1])
WinMove($hGui_fadenkreuz2, "", $aMouse_Pos[0], $aMouse_Pos[1] - $iKreuz_laenge / 2)
Sleep(10)
GUISetState(@SW_SHOW, $hGui_lupe)
Lupe($aMouse_Pos) ;erst hier unten, da sonst das Kreuz verzögert verschoben wird
EndFunc ;==>_lupe_verschieben
Func Lupe($aXy)
Local $aMyHDC, $aDeskHDC, $l, $t
$aMyHDC = _WinAPI_GetDC($hGui_lupe)
If @error Then Return
$aDeskHDC = _WinAPI_GetDC(0)
If Not @error Then
If Not @error Then
$l = $aXy[0] - 10
$t = $aXy[1] - 10
_WinAPI_StretchBlt($aMyHDC, 0, 0, 100, 100, $aDeskHDC, $l, $t, 20, 20, $SRCCOPY)
EndIf
_WinAPI_ReleaseDC($aDeskHDC, 0)
EndIf
_WinAPI_ReleaseDC($aMyHDC, $hGui_lupe)
EndFunc ;==>Lupe
Alles anzeigen
Nun dachte ich mir ich erstelle den Auswahlbereich mit _GDI... und das Fadenkreuz mit 2 GUIs.
Warum auch immer bewegt sich dann das Fadenkreuz wieder in der Lupe, warum?
#Region ;************ Includes ************
#include <GDIPlus.au3>
#include <WinAPIConstants.au3>
#include <WinAPISysWin.au3>
#include <WindowsConstants.au3>
#EndRegion ;************ Includes ************
Global Const $iKreuz_laenge = 10000 ;Länge des Fadenkreuzes (muss mindestens doppelt so gross sein wie die Breite bzw. Höhe der Bildschirme)
_GDIPlus_Startup()
Global $aSelect = _SelectRange() ; Rueckgabe: Array[Left, Top, Width, Height]
_GDIPlus_Shutdown()
Func _SelectRange($iCrossW = 3, $iCrossColor = 0x0000FF, $iSelColor = 0xFF0000, $iTransColor = 0xEEEEEE)
Local $iVSX = _WinAPI_GetSystemMetrics($SM_XVIRTUALSCREEN)
Local $iVSY = _WinAPI_GetSystemMetrics($SM_YVIRTUALSCREEN)
Local $iVSW = _WinAPI_GetSystemMetrics($SM_CXVIRTUALSCREEN)
Local $iVSH = _WinAPI_GetSystemMetrics($SM_CYVIRTUALSCREEN)
Local $hDummy = GUICreate('Dummy', $iVSW, $iVSH, $iVSX, $iVSY, $WS_POPUP, BitOR($WS_EX_TOOLWINDOW, $WS_EX_LAYERED)) ; Dummy-Gui nur, damit man mit der Maus nicht "durchklicken" kann
;~ GUISetBkColor($iTransColor)
;~ WinSetTrans($hDummy, '', 10)
Local $hBgGui = GUICreate('FullScreen', $iVSW, $iVSH, $iVSX, $iVSY, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW, $WS_EX_LAYERED), $hDummy)
;~ GUISetBkColor($iTransColor)
;~ GUISetCursor(3, 1, $hBgGui)
;~ WinSetTrans($hDummy, '', 1)
Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hBgGui)
Local $hBuffer = _GDIPlus_BitmapCreateFromGraphics($iVSW, $iVSH, $hGraphic)
Local $hGfxBuffer = _GDIPlus_ImageGetGraphicsContext($hBuffer)
Local $hPen = _GDIPlus_PenCreate(0xFF000000 + $iCrossColor, $iCrossW)
Local $hBrush = _GDIPlus_BrushCreateSolid(0xFF000000 + $iSelColor)
Local $hMagnifier = GUICreate('Magnifier', 200, 200, 0, 0, $WS_POPUPWINDOW, $WS_EX_TOOLWINDOW, $hDummy) ; Vergrößerungsfensters / Breite und Höhe jeweils -5, damit das Kreuz mittig ist (ermittelt durch probieren)
GUISetState(@SW_SHOW, $hDummy)
GUISetState(@SW_SHOW, $hBgGui)
GUISetState(@SW_SHOW, $hMagnifier)
$aStart_Pos1 = MouseGetPos()
$hGui_fadenkreuz1 = GUICreate("Kreuz", $iKreuz_laenge, 1, $aStart_Pos1[0] - $iKreuz_laenge / 2, $aStart_Pos1[1], $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW)) ; Vergrößerungsfenster
GUISetBkColor(0x0000FF, $hGui_fadenkreuz1)
$hGui_fadenkreuz2 = GUICreate("Kreuz", 1, $iKreuz_laenge, $aStart_Pos1[0], $aStart_Pos1[1] - $iKreuz_laenge / 2, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW)) ; Vergrößerungsfenster
GUISetBkColor(0x0000FF, $hGui_fadenkreuz2)
WinSetOnTop($hGui_fadenkreuz1, "", 1)
WinSetOnTop($hGui_fadenkreuz2, "", 1)
GUISetState(@SW_SHOW, $hGui_fadenkreuz1)
GUISetState(@SW_SHOW, $hGui_fadenkreuz2)
Local $aOldPos[4] = [$iVSX, $iVSY, 0, 0], $aInfo[5], $aSelCoord[4] = [0, 0, 0, 0], $iX, $iY
Do
$aInfo = GUIGetCursorInfo($hBgGui)
If $aInfo[0] <> $aOldPos[0] Or $aInfo[1] <> $aOldPos[1] Then
$aOldPos[0] = $aInfo[0]
$aOldPos[1] = $aInfo[1]
_ShowMagnifier($hMagnifier, $aInfo)
EndIf
If $aInfo[2] Then ; wenn linke Maustaste gedrueckt
If Not $aOldPos[2] Then ; wenn vorher nicht gedrueckt
$aOldPos[2] = 1
$aSelCoord[0] = $aInfo[0]
$aSelCoord[1] = $aInfo[1]
EndIf
$aSelCoord[2] = Abs($aInfo[0] - $aSelCoord[0])
$aSelCoord[3] = Abs($aInfo[1] - $aSelCoord[1])
$iX = $aInfo[0] > $aSelCoord[0] ? $aSelCoord[0] : $aSelCoord[0] - $aSelCoord[2]
$iY = $aInfo[1] > $aSelCoord[1] ? $aSelCoord[1] : $aSelCoord[1] - $aSelCoord[3]
Else ; wenn linke Maustaste losgelassen
$aOldPos[2] = 0
EndIf
_GDIPlus_GraphicsClear($hGfxBuffer, 0xFF000000 + $iTransColor)
_GDIPlus_GraphicsFillRect($hGfxBuffer, $iX, $iY, $aSelCoord[2], $aSelCoord[3], $hBrush)
_GDIPlus_GraphicsDrawRect($hGfxBuffer, $iX, $iY, $aSelCoord[2], $aSelCoord[3])
$aMouse_Pos = MouseGetPos()
WinMove($hGui_fadenkreuz1, "", $aMouse_Pos[0] - $iKreuz_laenge / 2, $aMouse_Pos[1])
WinMove($hGui_fadenkreuz2, "", $aMouse_Pos[0], $aMouse_Pos[1] - $iKreuz_laenge / 2)
_BlendBitmap($hBgGui, $hBuffer, 60)
Sleep(10)
Until $aInfo[3] ; warten, bis rechte Maustaste gedrueckt
GUIDelete($hBgGui)
GUIDelete($hDummy)
GUIDelete($hMagnifier)
_GDIPlus_PenDispose($hPen)
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_GraphicsDispose($hGfxBuffer)
_GDIPlus_BitmapDispose($hBuffer)
_GDIPlus_GraphicsDispose($hGraphic)
$aSelCoord[0] += $iVSX
$aSelCoord[1] += $iVSY
Return $aSelCoord
EndFunc ;==>_SelectRange
Func _BlendBitmap($hWnd, $hImage, $iOpacity)
Local $hDestDC, $hSrcDC, $hBMP, $hOld, $pSize, $tSize, $tPtSrc, $pPtSrc, $pBlend, $tBlend
$hDestDC = _WinAPI_GetDC($hWnd)
$hSrcDC = _WinAPI_CreateCompatibleDC($hDestDC)
$hBMP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$hOld = _WinAPI_SelectObject($hSrcDC, $hBMP)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
$tSize.X = _GDIPlus_ImageGetWidth($hImage)
$tSize.Y = _GDIPlus_ImageGetHeight($hImage)
$tPtSrc = DllStructCreate($tagPOINT)
$pPtSrc = DllStructGetPtr($tPtSrc)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Alpha", $iOpacity)
DllStructSetData($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow($hWnd, $hDestDC, $pPtSrc, $pSize, $hSrcDC, $pPtSrc, 0, $pBlend, $ULW_ALPHA)
;~ _WinAPI_UpdateLayeredWindow($hWnd, $hDestDC, 0, $pSize, $hSrcDC, $pPtSrc, 0xEEEEEE, 0, $ULW_COLORKEY)
_WinAPI_ReleaseDC($hWnd, $hDestDC)
_WinAPI_SelectObject($hSrcDC, $hOld)
_WinAPI_DeleteObject($hBMP)
_WinAPI_DeleteDC($hSrcDC)
EndFunc ;==>_BlendBitmap
Func _ShowMagnifier($hWnd, $aInfo)
Local $hSrcDC, $hDestDC, $iLeft, $iTop
$hDestDC = _WinAPI_GetDC($hWnd)
If @error Then Return
$hSrcDC = _WinAPI_GetDC(0)
If Not @error Then
$iLeft = $aInfo[0] - 25
$iTop = $aInfo[1] - 25
_WinAPI_StretchBlt($hDestDC, 0, 0, 200, 200, $hSrcDC, $iLeft, $iTop, 50, 50, $SRCCOPY)
_WinAPI_ReleaseDC(0, $hDestDC)
EndIf
_WinAPI_ReleaseDC($hWnd, $hSrcDC)
EndFunc ;==>_ShowMagnifier
Alles anzeigen
Klar, ich habe zuerst gedacht man kann nur den rot markierten Bereich transparant darstellen und den restlichen Bildschirm original. Aber das geht ja leider nicht.
Ich finde es auch sinnvoll, dass das Fadenkreuz in der Lupe angezeigt wird. Ich dachte nur man könnte es irgendwie ausblenden und dann in der Lupe mittig neu zeichnen.
Hast du am nachlaufen wirklich was geändert. Es verhält sich immer noch so wie vorher
Wow, da flackert nun nichts mehr
Danke schonmal
2 Sachen habe ich aber noch.
Ich würde gerne das abdunkeln des Hintergrunds abschalten.
Dachte eigentlich, dass dies durch GUISetBkColor($iTransColor) bzw. WinSetTrans($hDummy, '', 20) gemacht wird.
Das deaktivieren bringt aber nichts.
Ich habe noch eine Lupe eingefügt.
Leider läuft das Fadenkreuz nach.
Ist es möglich die Lupe ohne das Fadenkreuz darzustellen?
#include <Array.au3>
#include <GDIPlus.au3>
#include <StructureConstants.au3>
#include <WinAPIConstants.au3>
#include <WinAPIGdiDC.au3>
#include <WinAPIHObj.au3>
#include <WinAPISysInternals.au3>
#include <WinAPISysWin.au3>
#include <WindowsConstants.au3>
Global $hGui_lupe
_GDIPlus_Startup()
Global $aSelect = _SelectRange() ; Rueckgabe: Array[Left, Top, Width, Height]
;~ _ArrayDisplay($aSelect)
_GDIPlus_Shutdown()
Func _SelectRange($iCrossW = 3, $iCrossColor = 0x0000FF, $iSelColor = 0xFF0000, $iTransColor = 0xEEEEEE)
Local $iVSX = _WinAPI_GetSystemMetrics($SM_XVIRTUALSCREEN)
Local $iVSY = _WinAPI_GetSystemMetrics($SM_YVIRTUALSCREEN)
Local $iVSW = _WinAPI_GetSystemMetrics($SM_CXVIRTUALSCREEN)
Local $iVSH = _WinAPI_GetSystemMetrics($SM_CYVIRTUALSCREEN)
Local $hDummy = GUICreate('Dummy', $iVSW, $iVSH, $iVSX, $iVSY, $WS_POPUP, BitOR($WS_EX_TOOLWINDOW, $WS_EX_LAYERED)) ; Dummy-Gui nur, damit man mit der Maus nicht "durchklicken" kann
;~ GUISetBkColor($iTransColor)
;~ WinSetTrans($hDummy, '', 20)
Local $hBgGui = GUICreate('FullScreen', $iVSW, $iVSH, $iVSX, $iVSY, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW, $WS_EX_LAYERED), $hDummy)
;~ GUISetBkColor($iTransColor)
;~ GUISetCursor(3, 1, $hBgGui)
Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hBgGui)
Local $hBuffer = _GDIPlus_BitmapCreateFromGraphics($iVSW, $iVSH, $hGraphic)
Local $hGfxBuffer = _GDIPlus_ImageGetGraphicsContext($hBuffer)
Local $hPen = _GDIPlus_PenCreate(0xFF000000 + $iCrossColor, $iCrossW)
Local $hBrush = _GDIPlus_BrushCreateSolid(0xFF000000 + $iSelColor)
$hGui_lupe = GUICreate("Lupe", 100, 100, 0, 0, $WS_POPUPWINDOW, $WS_EX_TOOLWINDOW) ; Vergrößerungsfensters / Breite und Höhe jeweils -5, damit das Kreuz mittig ist (ermittelt durch probieren)
GUISetState(@SW_SHOW, $hDummy)
GUISetState(@SW_SHOW, $hBgGui)
GUISetState(@SW_SHOW, $hGui_lupe)
Local $aOldPos[4] = [$iVSX, $iVSY, 0, 0], $aInfo[5], $aSelCoord[4] = [0, 0, 0, 0], $iX, $iY
Do
$aInfo = GUIGetCursorInfo($hBgGui)
If $aInfo[0] <> $aOldPos[0] Or $aInfo[1] <> $aOldPos[1] Then
$aOldPos[0] = $aInfo[0]
$aOldPos[1] = $aInfo[1]
EndIf
If $aInfo[2] Then ; wenn linke Maustaste gedrueckt
If Not $aOldPos[2] Then ; wenn vorher nicht gedrueckt
$aOldPos[2] = 1
$aSelCoord[0] = $aInfo[0]
$aSelCoord[1] = $aInfo[1]
EndIf
$aSelCoord[2] = Abs($aInfo[0] - $aSelCoord[0])
$aSelCoord[3] = Abs($aInfo[1] - $aSelCoord[1])
$iX = $aInfo[0] > $aSelCoord[0] ? $aSelCoord[0] : $aSelCoord[0] - $aSelCoord[2]
$iY = $aInfo[1] > $aSelCoord[1] ? $aSelCoord[1] : $aSelCoord[1] - $aSelCoord[3]
$aXy = MouseGetPos()
Lupe($aXy)
Else ; wenn linke Maustaste losgelassen
$aOldPos[2] = 0
$aXy = MouseGetPos()
Lupe($aXy)
EndIf
_GDIPlus_GraphicsClear($hGfxBuffer, 0xFF000000 + $iTransColor)
_GDIPlus_GraphicsFillRect($hGfxBuffer, $iX, $iY, $aSelCoord[2], $aSelCoord[3], $hBrush)
_GDIPlus_GraphicsDrawRect($hGfxBuffer, $iX, $iY, $aSelCoord[2], $aSelCoord[3])
_GDIPlus_GraphicsDrawLine($hGfxBuffer, $iVSX, $aInfo[1], $iVSW, $aInfo[1], $hPen)
_GDIPlus_GraphicsDrawLine($hGfxBuffer, $aInfo[0], $iVSY, $aInfo[0], $iVSH, $hPen)
_BlendBitmap($hBgGui, $hBuffer, 80)
Sleep(10)
Until $aInfo[3] ; warten, bis rechte Maustaste gedrueckt
GUIDelete($hBgGui)
GUIDelete($hDummy)
_GDIPlus_PenDispose($hPen)
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_GraphicsDispose($hGfxBuffer)
_GDIPlus_BitmapDispose($hBuffer)
_GDIPlus_GraphicsDispose($hGraphic)
$aSelCoord[0] += $iVSX
$aSelCoord[1] += $iVSY
Return $aSelCoord
EndFunc ;==>_SelectRange
Func _BlendBitmap($hGui, $hImage, $iOpacity)
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC($hGui)
$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
$tSource = DllStructCreate($tagPOINT)
$pSource = DllStructGetPtr($tSource)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Alpha", $iOpacity)
DllStructSetData($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow($hGui, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
_WinAPI_ReleaseDC($hGui, $hScrDC)
_WinAPI_SelectObject($hMemDC, $hOld)
_WinAPI_DeleteObject($hBitmap)
_WinAPI_DeleteDC($hMemDC)
EndFunc ;==>_BlendBitmap
Func Lupe($aXy)
Local $aMyHDC, $aDeskHDC, $l, $t
$aMyHDC = _WinAPI_GetDC($hGui_lupe)
If @error Then Return
$aDeskHDC = _WinAPI_GetDC(0)
If Not @error Then
If Not @error Then
$l = $aXy[0] - 10
$t = $aXy[1] - 10
_WinAPI_StretchBlt($aMyHDC, 0, 0, 100, 100, $aDeskHDC, $l, $t, 20, 20, $SRCCOPY)
EndIf
_WinAPI_ReleaseDC($aDeskHDC, 0)
EndIf
_WinAPI_ReleaseDC($aMyHDC, $hGui_lupe)
EndFunc ;==>Lupe
Alles anzeigen
Zieht das Fenster mal von rechts unten nach links oben.
Bei mir flackert dann das rechte untere Eck.
Bei euch auch?
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <WinAPISysWin.au3>
#include <WindowsConstants.au3>
Global $aSelect = _SelectRange() ; Rueckgabe: Array[Left, Top, Width, Height]
;~ _ArrayDisplay($aSelect)
Func _SelectRange($iCrossW = 3, $iCrossColor = 0x0000FF, $iSelColor = 0xFF0000, $iTransColor = 0xA0A0A0)
Local $hDummy = GUICreate('Dummy', @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW, $WS_EX_LAYERED)) ; Dummy-Gui nur, damit man mit der Maus nicht "durchklicken" kann
GUISetBkColor($iTransColor)
WinSetTrans($hDummy, '', 20)
GUISetCursor(3, 1, $hDummy)
Local $hBgGui = GUICreate('Background', @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW, $WS_EX_LAYERED), $hDummy)
GUISetBkColor($iTransColor)
_WinAPI_SetLayeredWindowAttributes($hBgGui, $iTransColor)
GUISetCursor(3, 1, $hBgGui)
Local $idSelect = GUICtrlCreateLabel('', 0, 0, 0, 0)
GUICtrlSetBkColor(-1, $iSelColor)
WinSetTrans(GUICtrlGetHandle($idSelect), '', 40)
Local $idCrossX = GUICtrlCreateLabel('', 0, 50, @DesktopWidth, $iCrossW)
GUICtrlSetBkColor(-1, $iCrossColor)
Local $idCrossY = GUICtrlCreateLabel('', 50, 0, $iCrossW, @DesktopHeight)
GUICtrlSetBkColor(-1, $iCrossColor)
;~ GUISetState(@SW_SHOW, $hDummy)
GUISetState(@SW_SHOW, $hBgGui)
Local $aOldPos[3] = [-1, -1, 0], $aInfo[5], $aSelCoord[4] = [0, 0, 0, 0]
Do
$aInfo = GUIGetCursorInfo($hBgGui)
If $aInfo[0] <> $aOldPos[0] Or $aInfo[1] <> $aOldPos[1] Then
$aOldPos[0] = $aInfo[0]
$aOldPos[1] = $aInfo[1]
GUICtrlSetPos($idCrossX, 0, $aInfo[1] - Ceiling($iCrossW / 2))
GUICtrlSetPos($idCrossY, $aInfo[0] - Ceiling($iCrossW / 2), 0)
EndIf
If $aInfo[2] Then ; wenn linke Maustaste gedrueckt
If Not $aOldPos[2] Then ; wenn vorher nicht gedrueckt
$aOldPos[2] = 1
GUICtrlSetState($idSelect, $GUI_SHOW)
$aSelCoord[0] = $aInfo[0]
$aSelCoord[1] = $aInfo[1]
EndIf
$aSelCoord[2] = $aSelCoord[0] - $aInfo[0]
$aSelCoord[3] = $aSelCoord[1] - $aInfo[1]
GUICtrlSetPos($idSelect, $aInfo[0], $aInfo[1], $aSelCoord[2], $aSelCoord[3])
Else ; wenn linke Maustaste losgelassen
$aOldPos[2] = 0
EndIf
Sleep(10)
Until $aInfo[3] ; warten, bis rechte Maustaste gedrueckt
GUIDelete($hBgGui)
GUIDelete($hDummy)
Return $aSelCoord
EndFunc ;==>_SelectRange
Alles anzeigen
mit deinem Colormixer flackert nichts. Wobei man bei dir ja auch kein Fenster aufziehen kann, sonder nur die Lupe drin ist.
Diese flackert auch nicht.
Du verwendet auch die neue Version. Bei dir flackert mein Skript nicht?
Dein Skript flackert bei mir auch nicht.
Folgende Unterschiede habe ich gesehen und möchte verstehen warum du es anders (besser ) gelöst hast.
Ich denke nur das 3 spielt eine Rolle für das flackern, oder?
Hi,
beim folgenden Skript flackert die GUI.
Startet das Skript und haltet dann die linke Maustaste gedrückt.
Dann zieht ihr ein Fenster auf und bewegt die Maus etwas schneller.
Nun flackert die rote Fläche teilweise.
Ich nutze 3.3.16.0
Bei 3.3.4.15 war dies nicht so.
Woran könnte dies liegen?
#Region ;************ Includes ************
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <Misc.au3>
#EndRegion ;************ Includes ************
Global $hGui_fadenkreuz1, $hGui_fadenkreuz2
Global $aStart_Pos1, $idLabel_ausschnitt
Global $UserDLL = DllOpen("user32.dll")
Global $aMouse_Pos
Global Const $iKreuz_laenge = 10000
Global $iDesktopLeft = 0
Global $iDesktopTop = 0
Global $iDesktopRight = @DesktopWidth
Global $iDesktopBottom = @DesktopHeight
;AutoItSetOption
Opt("GUICloseOnESC", 0) ;1=ESC beendet, 0=ESC schließt nicht
Opt('MouseCoordMode', 1)
Opt('GUIOnEventMode', 1)
;~ Opt("TrayIconDebug", 1) ; 0=keine Info, 1=Debug Zeileninfo
_auswahl()
Func _auswahl()
Local $status, $hGui_Auswahl, $aStart_Pos
$hGui_Auswahl = GUICreate("Screenshot", $iDesktopRight - $iDesktopLeft, $iDesktopBottom - $iDesktopTop, 0, 0, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW)) ; erstellen eines GUI-Fensters
WinSetTrans($hGui_Auswahl, "", 20)
GUISetState()
$aMouse_Pos = MouseGetPos()
$status = _lupe_1_punkt() ;evtl. "Abbruch"
While 1
If _IsPressed("01", $UserDLL) Then ;Linke Maustaste gedrückt
$aStart_Pos = MouseGetPos()
$status = _lupe_2_punkt() ;evtl. "Abbruch"
ExitLoop
EndIf
WEnd
EndFunc ;==>_auswahl
Func _lupe_1_punkt()
$idLabel_ausschnitt = GUICtrlCreateLabel('', $iDesktopLeft, $iDesktopTop, 1, 1, $SS_SUNKEN)
GUICtrlSetBkColor($idLabel_ausschnitt, 0xFF0000) ;rötliche Farbe des Ausschnittes
$aStart_Pos1 = MouseGetPos()
$hGui_fadenkreuz1 = GUICreate("Kreuz", $iKreuz_laenge, 1, $aStart_Pos1[0] - $iKreuz_laenge / 2, $aStart_Pos1[1], $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW)) ; Vergrößerungsfenster
GUISetBkColor(0x0000FF, $hGui_fadenkreuz1)
$hGui_fadenkreuz2 = GUICreate("Kreuz", 1, $iKreuz_laenge, $aStart_Pos1[0], $aStart_Pos1[1] - $iKreuz_laenge / 2, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW)) ; Vergrößerungsfenster
GUISetBkColor(0x0000FF, $hGui_fadenkreuz2)
WinSetOnTop($hGui_fadenkreuz1, "", 1)
WinSetOnTop($hGui_fadenkreuz2, "", 1)
GUISetState(@SW_SHOW, $hGui_fadenkreuz1)
GUISetState(@SW_SHOW, $hGui_fadenkreuz2)
While Not _IsPressed("01", $UserDLL) ;Linke Maustaste nicht gedrückt
_lupe_verschieben()
If _IsPressed("1B", $UserDLL) Then Return "Abbruch" ;Bereich Abbruch >>> "Abbruch" zurückgeben
WEnd
$aStart_Pos1 = MouseGetPos()
Return $aStart_Pos1
EndFunc ;==>_lupe_1_punkt
Func _lupe_2_punkt()
While 1
While _IsPressed("01", $UserDLL) ;Linke Maustaste gedrückt
_lupe_verschieben()
;links oben nach rechts unten:
If $aMouse_Pos[1] > $aStart_Pos1[1] And $aMouse_Pos[0] > $aStart_Pos1[0] Then GUICtrlSetPos($idLabel_ausschnitt, $aStart_Pos1[0] + 1 - $iDesktopLeft, $aStart_Pos1[1] + 1 - $iDesktopTop, $aMouse_Pos[0] - $aStart_Pos1[0], $aMouse_Pos[1] - $aStart_Pos1[1]) ;X und Y + 1 >>> sonst wird das Fenster bei einer schnellen Bewegung nicht bis ganz an den Rand gezogen
;links unten nach rechts oben:
If $aMouse_Pos[1] < $aStart_Pos1[1] And $aMouse_Pos[0] > $aStart_Pos1[0] Then GUICtrlSetPos($idLabel_ausschnitt, $aStart_Pos1[0] + 1 - $iDesktopLeft, $aMouse_Pos[1] + 1 - $iDesktopTop, $aMouse_Pos[0] - $aStart_Pos1[0], $aStart_Pos1[1] - $aMouse_Pos[1]) ;X und Y + 1 >>> sonst wird das Fenster bei einer schnellen Bewegung nicht bis ganz an den Rand gezogen
;rechts oben nach links unten:
If $aMouse_Pos[1] > $aStart_Pos1[1] And $aMouse_Pos[0] < $aStart_Pos1[0] Then GUICtrlSetPos($idLabel_ausschnitt, $aMouse_Pos[0] + 1 - $iDesktopLeft, $aStart_Pos1[1] + 1 - $iDesktopTop, $aStart_Pos1[0] - $aMouse_Pos[0], $aMouse_Pos[1] - $aStart_Pos1[1]) ;X und Y + 1 >>> sonst wird das Fenster bei einer schnellen Bewegung nicht bis ganz an den Rand gezogen
;rechts unten nach links oben:
If $aMouse_Pos[1] < $aStart_Pos1[1] And $aMouse_Pos[0] < $aStart_Pos1[0] Then GUICtrlSetPos($idLabel_ausschnitt, $aMouse_Pos[0] - $iDesktopLeft, $aMouse_Pos[1] + 1 - $iDesktopTop, $aStart_Pos1[0] - $aMouse_Pos[0], $aStart_Pos1[1] - $aMouse_Pos[1]) ;X und Y + 1 >>> sonst wird das Fenster bei einer schnellen Bewegung nicht bis ganz an den Rand gezogen
WEnd
Sleep(10)
Return $idLabel_ausschnitt
WEnd
EndFunc ;==>_lupe_2_punkt
Func _lupe_verschieben()
$aMouse_Pos = MouseGetPos()
WinMove($hGui_fadenkreuz1, "", $aMouse_Pos[0] - $iKreuz_laenge / 2, $aMouse_Pos[1])
WinMove($hGui_fadenkreuz2, "", $aMouse_Pos[0], $aMouse_Pos[1] - $iKreuz_laenge / 2)
Sleep(10)
EndFunc ;==>_lupe_verschieben
Alles anzeigen
Leider nein.
Es funktioniert zwar, jedoch wird der Iconcache nicht geleert.
Wenn ich z. B. das Icon des UAC-Schilds ändere bleibt dies bei einer Desktopverknüpfung unverändert.
Erst wenn ich die Batch-Datei, die im 1. Post beschrieben wird, manuell starte funktioniert es.
Hi,
leider fehlen in der englischen Hilfe zu 3.3.16.1 noch etliche Beispiele zu Funktionen .
Falls einer Lust hat oder schon ein Beispiel parat hat, kann er es gerne hier posten.
Ich werde es dann in der Hilfe ergänzen.
TCPSend
_EventLog__DeregisterSource
_EventLog__RegisterSource
_FTP_Command
_FTP_FileTimeLoHiToStr
_GDIPlus_CustomLineCapDispose
_GDIPlus_CustomLineCapGetStrokeCaps
_GDIPlus_CustomLineCapSetStrokeCaps
_GDIPlus_GraphicsGetDC
_GDIPlus_GraphicsReleaseDC
_GDIPlus_PathSetMarker
_GDIPlus_PenSetLineCap
_GUICtrlMenu_LoadMenu
_GUICtrlTab_ActivateTab
_GUICtrlToolbar_Customize
_GUICtrlToolbar_SetDrawTextFlags
_GUICtrlToolbar_SetParent
_GUICtrlToolbar_SetWindowTheme
_GUIToolTip_AdjustRect
_GUIToolTip_NewToolRect
_GUIToolTip_SetToolInfo
_GUIToolTip_SetWindowTheme
_GUIToolTip_ToolToArray
_GUIToolTip_Update
_MemGlobalAlloc
_MemGlobalFree
_MemGlobalLock
_MemGlobalReAlloc
_MemGlobalSize
_MemGlobalUnlock
_MemMoveMemory
_MemVirtualAlloc
_MemVirtualAllocEx
_MemVirtualFree
_MemVirtualFreeEx
_NamedPipes_CallNamedPipe
_NamedPipes_ConnectNamedPipe
_NamedPipes_CreateNamedPipe
_NamedPipes_CreatePipe
_NamedPipes_DisconnectNamedPipe
_NamedPipes_GetNamedPipeHandleState
_NamedPipes_GetNamedPipeInfo
_NamedPipes_PeekNamedPipe
_NamedPipes_SetNamedPipeHandleState
_NamedPipes_TransactNamedPipe
_NamedPipes_WaitNamedPipe
_ScreenCapture_SetTIFColorDepth
_ScreenCapture_SetTIFCompression
_SendMessageA
_viInteractiveControl
_WinAPI_AbortPath
_WinAPI_AdjustWindowRectEx
_WinAPI_AngleArc
_WinAPI_Arc
_WinAPI_ArrayToStruct
_WinAPI_AttachConsole
_WinAPI_AttachThreadInput
_WinAPI_BackupSeek
_WinAPI_BeginDeferWindowPos
_WinAPI_BringWindowToTop
_WinAPI_BroadcastSystemMessage
_WinAPI_BufferedPaintClear
_WinAPI_BufferedPaintSetAlpha
_WinAPI_CallWindowProcW
_WinAPI_ChangeWindowMessageFilterEx
_WinAPI_CharToOem
_WinAPI_ChildWindowFromPointEx
_WinAPI_CloseThemeData
_WinAPI_CloseWindow
_WinAPI_CloseWindowStation
_WinAPI_CoInitialize
_WinAPI_CombineTransform
_WinAPI_CommDlgExtendedError
_WinAPI_CommDlgExtendedErrorEx
_WinAPI_CopyBitmap
_WinAPI_CopyCursor
_WinAPI_CopyEnhMetaFile
_WinAPI_CopyImage
_WinAPI_CopyRect
_WinAPI_CoTaskMemAlloc
_WinAPI_CoTaskMemFree
_WinAPI_CoTaskMemRealloc
_WinAPI_CoUninitialize
_WinAPI_Create32BitHICON
_WinAPI_CreateBitmap
_WinAPI_CreateBitmapIndirect
_WinAPI_CreateBuffer
_WinAPI_CreateBufferFromStruct
_WinAPI_CreateCompatibleBitmapEx
_WinAPI_CreateDIBitmap
_WinAPI_CreateDirectory
_WinAPI_CreateDirectoryEx
_WinAPI_CreateEllipticRgn
_WinAPI_CreateEmptyIcon
_WinAPI_CreateFileEx
_WinAPI_CreateFontEx
_WinAPI_CreateFontIndirect
_WinAPI_CreateMargins
_WinAPI_CreateMutex
_WinAPI_CreateNullRgn
_WinAPI_CreatePoint
_WinAPI_CreateProcessWithToken
_WinAPI_CreateRect
_WinAPI_CreateRectEx
_WinAPI_CreateRectRgnIndirect
_WinAPI_CreateSize
_WinAPI_CreateSolidBitmap
_WinAPI_CreateWindowStation
_WinAPI_DeferWindowPos
_WinAPI_DefRawInputProc
_WinAPI_DefWindowProc
_WinAPI_DefWindowProcW
_WinAPI_DeleteDC
_WinAPI_DeleteFile
_WinAPI_DeleteObjectID
_WinAPI_DeleteVolumeMountPoint
_WinAPI_DestroyCaret
_WinAPI_DestroyCursor
_WinAPI_DestroyWindow
_WinAPI_DeviceIoControl
_WinAPI_DllInstall
_WinAPI_DllUninstall
_WinAPI_DPtoLP
_WinAPI_DragQueryPoint
_WinAPI_DrawEdge
_WinAPI_DrawFocusRect
_WinAPI_DrawThemeEdge
_WinAPI_DrawThemeIcon
_WinAPI_DrawThemeParentBackground
_WinAPI_DuplicateEncryptionInfoFile
_WinAPI_DuplicateTokenEx
_WinAPI_DwmDefWindowProc
_WinAPI_DwmEnableComposition
_WinAPI_DwmGetColorizationParameters
_WinAPI_DwmInvalidateIconicBitmaps
_WinAPI_DwmQueryThumbnailSourceSize
_WinAPI_DwmSetColorizationParameters
_WinAPI_DwmSetWindowAttribute
_WinAPI_DwmUnregisterThumbnail
_WinAPI_DWordToFloat
_WinAPI_EnableWindow
_WinAPI_EncryptionDisable
_WinAPI_EndDeferWindowPos
_WinAPI_EnumProcessThreads
_WinAPI_EqualRect
_WinAPI_EqualRgn
_WinAPI_ExcludeClipRect
_WinAPI_ExtCreateRegion
_WinAPI_ExtractIcon
_WinAPI_FatalExit
_WinAPI_FillPath
_WinAPI_FillRgn
_WinAPI_FindClose
_WinAPI_FindResourceEx
_WinAPI_FindWindow
_WinAPI_FlattenPath
_WinAPI_FloatToDWord
_WinAPI_FlushFileBuffers
_WinAPI_FlushViewOfFile
_WinAPI_FormatMessage
_WinAPI_FrameRect
_WinAPI_FrameRgn
_WinAPI_FreeMemory
_WinAPI_FreeMRUList
_WinAPI_FreeResource
_WinAPI_GdiComment
_WinAPI_GetActiveWindow
_WinAPI_GetAllUsersProfileDirectory
_WinAPI_GetApplicationRestartSettings
_WinAPI_GetArcDirection
_WinAPI_GetBitmapBits
_WinAPI_GetBitmapDimensionEx
_WinAPI_GetBkColor
_WinAPI_GetBoundsRect
_WinAPI_GetBrushOrg
_WinAPI_GetBufferedPaintBits
_WinAPI_GetBufferedPaintDC
_WinAPI_GetBufferedPaintTargetDC
_WinAPI_GetBufferedPaintTargetRect
_WinAPI_GetCaretBlinkTime
_WinAPI_GetClassInfoEx
_WinAPI_GetClassLongEx
_WinAPI_GetClipboardSequenceNumber
_WinAPI_GetClipBox
_WinAPI_GetClipCursor
_WinAPI_GetClipRgn
_WinAPI_GetColorAdjustment
_WinAPI_GetCompressedFileSize
_WinAPI_GetCurrentDirectory
_WinAPI_GetCurrentObject
_WinAPI_GetCurrentPosition
_WinAPI_GetCurrentProcessExplicitAppUserModelID
_WinAPI_GetCurrentThread
_WinAPI_GetCursor
_WinAPI_GetDefaultPrinter
_WinAPI_GetDefaultUserProfileDirectory
_WinAPI_GetDeviceCaps
_WinAPI_GetDIBColorTable
_WinAPI_GetDIBits
_WinAPI_GetEnhMetaFile
_WinAPI_GetEnhMetaFileBits
_WinAPI_GetEnhMetaFileHeader
_WinAPI_GetErrorMessage
_WinAPI_GetErrorMode
_WinAPI_GetExtended
_WinAPI_GetFileAttributes
_WinAPI_GetFileInformationByHandleEx
_WinAPI_GetFilePointerEx
_WinAPI_GetFileTitle
_WinAPI_GetFileType
_WinAPI_GetFileVersionInfo
_WinAPI_GetFRBuffer
_WinAPI_GetGraphicsMode
_WinAPI_GetGuiResources
_WinAPI_GetHandleInformation
_WinAPI_GetHGlobalFromStream
_WinAPI_GetKeyboardLayout
_WinAPI_GetKeyboardState
_WinAPI_GetLastActivePopup
_WinAPI_GetLastError
_WinAPI_GetLastErrorMessage
_WinAPI_GetLogicalDrives
_WinAPI_GetMapMode
_WinAPI_GetMemorySize
_WinAPI_GetModuleFileNameEx
_WinAPI_GetModuleHandleEx
_WinAPI_GetModuleInformation
_WinAPI_GetMUILanguage
_WinAPI_GetObject
_WinAPI_GetObjectID
_WinAPI_GetObjectType
_WinAPI_GetOverlappedResult
_WinAPI_GetParent
_WinAPI_GetPEType
_WinAPI_GetPhysicallyInstalledSystemMemory
_WinAPI_GetPixel
_WinAPI_GetPolyFillMode
_WinAPI_GetPriorityClass
_WinAPI_GetProcessAffinityMask
_WinAPI_GetProcessHandleCount
_WinAPI_GetProcessID
_WinAPI_GetProcessIoCounters
_WinAPI_GetProcessShutdownParameters
_WinAPI_GetProfilesDirectory
_WinAPI_GetRawInputBuffer
_WinAPI_GetRawInputBufferLength
_WinAPI_GetRegionData
_WinAPI_GetRegisteredRawInputDevices
_WinAPI_GetRgnBox
_WinAPI_GetROP2
_WinAPI_GetShellWindow
_WinAPI_GetStartupInfo
_WinAPI_GetStdHandle
_WinAPI_GetStockObject
_WinAPI_GetStretchBltMode
_WinAPI_GetSysColorBrush
_WinAPI_GetSystemDefaultLangID
_WinAPI_GetSystemDefaultLCID
_WinAPI_GetSystemDefaultUILanguage
_WinAPI_GetSystemDEPPolicy
_WinAPI_GetSystemInfo
_WinAPI_GetSystemMetrics
_WinAPI_GetSystemTimes
_WinAPI_GetSystemWow64Directory
_WinAPI_GetTempFileName
_WinAPI_GetTextAlign
_WinAPI_GetTextCharacterExtra
_WinAPI_GetTextColor
_WinAPI_GetTextFace
_WinAPI_GetTextMetrics
_WinAPI_GetThemeBackgroundContentRect
_WinAPI_GetThemeBackgroundExtent
_WinAPI_GetThemeBackgroundRegion
_WinAPI_GetThemeBitmap
_WinAPI_GetThemeBool
_WinAPI_GetThemeEnumValue
_WinAPI_GetThemeFilename
_WinAPI_GetThemeFont
_WinAPI_GetThemeInt
_WinAPI_GetThemeMargins
_WinAPI_GetThemeMetric
_WinAPI_GetThemePartSize
_WinAPI_GetThemePosition
_WinAPI_GetThemePropertyOrigin
_WinAPI_GetThemeRect
_WinAPI_GetThemeString
_WinAPI_GetThemeSysBool
_WinAPI_GetThemeSysColor
_WinAPI_GetThemeSysColorBrush
_WinAPI_GetThemeSysFont
_WinAPI_GetThemeSysInt
_WinAPI_GetThemeSysSize
_WinAPI_GetThemeSysString
_WinAPI_GetThemeTextExtent
_WinAPI_GetThemeTextMetrics
_WinAPI_GetThreadErrorMode
_WinAPI_GetTickCount64
_WinAPI_GetTopWindow
_WinAPI_GetUDFColorMode
_WinAPI_GetUpdateRect
_WinAPI_GetUpdateRgn
_WinAPI_GetUserDefaultLangID
_WinAPI_GetUserDefaultLCID
_WinAPI_GetUserDefaultUILanguage
_WinAPI_GetVersionEx
_WinAPI_GetWindow
_WinAPI_GetWindowDisplayAffinity
_WinAPI_GetWindowExt
_WinAPI_GetWindowFileName
_WinAPI_GetWindowLong
_WinAPI_GetWindowOrg
_WinAPI_GetWindowRgn
_WinAPI_GetWindowRgnBox
_WinAPI_GetWindowSubclass
_WinAPI_GetWindowTheme
_WinAPI_GetWorldTransform
_WinAPI_GetXYFromPoint
_WinAPI_GlobalMemoryStatus
_WinAPI_GUIDFromStringEx
_WinAPI_HiByte
_WinAPI_InflateRect
_WinAPI_InitMUILanguage
_WinAPI_InProcess
_WinAPI_IntersectClipRect
_WinAPI_IntersectRect
_WinAPI_InvalidateRgn
_WinAPI_InvertRect
_WinAPI_InvertRgn
_WinAPI_IOCTL
_WinAPI_IsAlphaBitmap
_WinAPI_IsBadCodePtr
_WinAPI_IsBadReadPtr
_WinAPI_IsBadStringPtr
_WinAPI_IsBadWritePtr
_WinAPI_IsChild
_WinAPI_IsClassName
_WinAPI_IsElevated
_WinAPI_IsHungAppWindow
_WinAPI_IsIconic
_WinAPI_IsLoadKBLayout
_WinAPI_IsMemory
_WinAPI_IsNameInExpression
_WinAPI_IsPathShared
_WinAPI_IsProcessInJob
_WinAPI_IsProcessorFeaturePresent
_WinAPI_IsRectEmpty
_WinAPI_IsThemeActive
_WinAPI_IsThemeBackgroundPartiallyTransparent
_WinAPI_IsThemePartDefined
_WinAPI_IsValidLocale
_WinAPI_IsWindow
_WinAPI_IsWindowEnabled
_WinAPI_IsWindowUnicode
_WinAPI_IsWindowVisible
_WinAPI_IsWow64Process
_WinAPI_IsZoomed
_WinAPI_Keybd_Event
_WinAPI_LoadBitmap
_WinAPI_LoadCursor
_WinAPI_LoadIcon
_WinAPI_LoadIconMetric
_WinAPI_LoadImage
_WinAPI_LoadKeyboardLayout
_WinAPI_LoadLibrary
_WinAPI_LoByte
_WinAPI_LocalFree
_WinAPI_LockFile
_WinAPI_LockWindowUpdate
_WinAPI_LockWorkStation
_WinAPI_LPtoDP
_WinAPI_MAKELANGID
_WinAPI_MAKELCID
_WinAPI_MakeLong
_WinAPI_MakeQWord
_WinAPI_MakeWord
_WinAPI_MoveToEx
_WinAPI_MulDiv
_WinAPI_MultiByteToWideCharEx
_WinAPI_OemToChar
_WinAPI_OffsetClipRgn
_WinAPI_OffsetRect
_WinAPI_OffsetRgn
_WinAPI_OffsetWindowOrg
_WinAPI_OpenDesktop
_WinAPI_OpenIcon
_WinAPI_OpenInputDesktop
_WinAPI_OpenJobObject
_WinAPI_OpenMutex
_WinAPI_OpenSemaphore
_WinAPI_OpenThemeData
_WinAPI_OpenWindowStation
_WinAPI_PaintDesktop
_WinAPI_PatBlt
_WinAPI_PathToRegion
_WinAPI_PathUnmakeSystemFolder
_WinAPI_PointFromRect
_WinAPI_PolyBezierTo
_WinAPI_PolyDraw
_WinAPI_Polygon
_WinAPI_PostMessage
_WinAPI_PrimaryLangId
_WinAPI_PtInRectEx
_WinAPI_PtInRegion
_WinAPI_PtVisible
_WinAPI_QueryPerformanceCounter
_WinAPI_QueryPerformanceFrequency
_WinAPI_ReadProcessMemory
_WinAPI_RectInRegion
_WinAPI_RectIsEmpty
_WinAPI_RectVisible
_WinAPI_RegConnectRegistry
_WinAPI_RegCopyTree
_WinAPI_RegCopyTreeEx
_WinAPI_RegDeleteEmptyKey
_WinAPI_RegDeleteKeyValue
_WinAPI_RegDeleteTree
_WinAPI_RegDeleteTreeEx
_WinAPI_RegDeleteValue
_WinAPI_RegDisableReflectionKey
_WinAPI_RegDuplicateHKey
_WinAPI_RegEnableReflectionKey
_WinAPI_RegFlushKey
_WinAPI_RegisterClass
_WinAPI_RegisterPowerSettingNotification
_WinAPI_RegLoadMUIString
_WinAPI_RegQueryReflectionKey
_WinAPI_RegSetValue
_WinAPI_ReleaseCapture
_WinAPI_ReleaseMutex
_WinAPI_ReleaseStream
_WinAPI_RemoveClipboardFormatListener
_WinAPI_RemoveDirectory
_WinAPI_RemoveFontMemResourceEx
_WinAPI_RemoveFontResourceEx
_WinAPI_ReOpenFile
_WinAPI_RestartDlg
_WinAPI_RestoreDC
_WinAPI_SaveDC
_WinAPI_ScaleWindowExt
_WinAPI_SelectClipPath
_WinAPI_SendMessageTimeout
_WinAPI_SetActiveWindow
_WinAPI_SetBitmapBits
_WinAPI_SetBitmapDimensionEx
_WinAPI_SetBoundsRect
_WinAPI_SetBrushOrg
_WinAPI_SetCapture
_WinAPI_SetCaretPos
_WinAPI_SetColorAdjustment
_WinAPI_SetCurrentDirectory
_WinAPI_SetDCBrushColor
_WinAPI_SetDCPenColor
_WinAPI_SetDefaultPrinter
_WinAPI_SetDeviceGammaRamp
_WinAPI_SetDIBColorTable
_WinAPI_SetDIBits
_WinAPI_SetDIBitsToDevice
_WinAPI_SetEnhMetaFileBits
_WinAPI_SetErrorMode
_WinAPI_SetFileAttributes
_WinAPI_SetFileInformationByHandleEx
_WinAPI_SetFilePointerEx
_WinAPI_SetFileValidData
_WinAPI_SetFocus
_WinAPI_SetFont
_WinAPI_SetForegroundWindow
_WinAPI_SetFRBuffer
_WinAPI_SetHandleInformation
_WinAPI_SetInformationJobObject
_WinAPI_SetKeyboardLayout
_WinAPI_SetKeyboardState
_WinAPI_SetLastError
_WinAPI_SetMapMode
_WinAPI_SetPixel
_WinAPI_SetPolyFillMode
_WinAPI_SetProcessAffinityMask
_WinAPI_SetProcessWindowStation
_WinAPI_SetRectRgn
_WinAPI_SetROP2
_WinAPI_SetSearchPathMode
_WinAPI_SetStretchBltMode
_WinAPI_SetTextAlign
_WinAPI_SetTextCharacterExtra
_WinAPI_SetTextJustification
_WinAPI_SetThreadDesktop
_WinAPI_SetThreadErrorMode
_WinAPI_SetUDFColorMode
_WinAPI_SetUserGeoID
_WinAPI_SetUserObjectInformation
_WinAPI_SetWindowExt
_WinAPI_SetWindowOrg
_WinAPI_SetWindowText
_WinAPI_SetWorldTransform
_WinAPI_SfcIsKeyProtected
_WinAPI_ShellChangeNotifyDeregister
_WinAPI_ShellCreateDirectory
_WinAPI_ShellEmptyRecycleBin
_WinAPI_ShellFlushSFCache
_WinAPI_ShellGetFileInfo
_WinAPI_ShellGetIconOverlayIndex
_WinAPI_ShellGetKnownFolderIDList
_WinAPI_ShellGetPathFromIDList
_WinAPI_ShellGetSpecialFolderLocation
_WinAPI_ShellILCreateFromPath
_WinAPI_ShellQueryUserNotificationState
_WinAPI_ShellRestricted
_WinAPI_ShellSetKnownFolderPath
_WinAPI_ShellStartNetConnectionDlg
_WinAPI_ShellUpdateImage
_WinAPI_ShowLastError
_WinAPI_ShowOwnedPopups
_WinAPI_StretchBlt
_WinAPI_StretchDIBits
_WinAPI_StrLen
_WinAPI_StrokePath
_WinAPI_StructToArray
_WinAPI_SubLangId
_WinAPI_SubtractRect
_WinAPI_SwitchToThisWindow
_WinAPI_TerminateJobObject
_WinAPI_TerminateProcess
_WinAPI_TrackMouseEvent
_WinAPI_TwipsPerPixelX
_WinAPI_TwipsPerPixelY
_WinAPI_UnhookWinEvent
_WinAPI_UnionRect
_WinAPI_UnloadKeyboardLayout
_WinAPI_UnlockFile
_WinAPI_UnregisterApplicationRestart
_WinAPI_UnregisterClass
_WinAPI_UnregisterHotKey
_WinAPI_UnregisterPowerSettingNotification
_WinAPI_UpdateLayeredWindow
_WinAPI_UpdateLayeredWindowIndirect
_WinAPI_UrlIs
_WinAPI_UserHandleGrantAccess
_WinAPI_ValidateRect
_WinAPI_ValidateRgn
_WinAPI_VerQueryRoot
_WinAPI_WaitForInputIdle
_WinAPI_WaitForSingleObject
_WinAPI_WidenPath
_WinAPI_WindowFromDC
_WinAPI_Wow64EnableWow64FsRedirection
_WinAPI_WriteConsole
_WinAPI_WriteProcessMemory
_WinNet_AddConnection
_WinNet_AddConnection2
_WinNet_AddConnection3
_WinNet_CancelConnection
_WinNet_CancelConnection2
_WinNet_CloseEnum
_WinNet_ConnectionDialog
_WinNet_ConnectionDialog1
_WinNet_DisconnectDialog
_WinNet_DisconnectDialog1
_WinNet_EnumResource
_WinNet_GetConnection
_WinNet_GetConnectionPerformance
_WinNet_GetLastError
_WinNet_GetNetworkInformation
_WinNet_GetProviderName
_WinNet_GetResourceInformation
_WinNet_GetResourceParent
_WinNet_GetUniversalName
_WinNet_GetUser
_WinNet_OpenEnum
_WinNet_RestoreConnection
_WinNet_UseConnection
Ab hier werden die bereits übersetzten Dateien gepostet.
Die noch zu übersetzenden Dateien sind weiter oben