Hallo,
ich bräuchte mal jemand der sich bisschen Zeit für mein Script nimmt!
Ich bin kein Programmierer, oder ähnliches, deswegen würd ich gern von einem "Profi" mal die Werte in meinem Script checken lassen!
Mir erscheinen die Farbwertdaten, vorallem beim Checksum, nicht korrekt!
Für weitere Vervesserungen oder Vorschläge bin ich sehr dankbar!
Spoiler anzeigen
#include <Array.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <File.au3>
#include <GDIPlus.au3>
#include <GuiSlider.au3>
#include <GUIConstantsEx.au3>
#include <IE.au3>
#include <Misc.au3>
#include <ScreenCapture.au3>
#include <SliderConstants.au3>
#include <Timers.au3>
#include <UpDownConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <GuiMenu.au3>
#include <ListViewConstants.au3>
;declare
Dim $Pos
Dim $msg[5]
Dim $PosOld[2]
Dim $aPosOld[2]
Dim $PosSlOld[4]
Dim $FileLines
Dim $List
Dim $pMGr = 10
Local $iX, $iY, $iW, $iH, $Lupe, $copyLupe, $LupeGUI, $hChild, $hWnd_Desktop, $menu1, $winLupeState, $menuMode, $auswPixCksm
Local $countLR, $countHR, $coordLR, $coordHR, $iXo, $iYo, $hDC_Dest, $hDC_Source, $backbuffer, $X2, $Y2, $X, $Y, $AuswMitte
Local $Sl1ScaleMin, $Sl1ScaleMax, $Sl2ScaleMin, $Sl2ScaleMax, $SliderObenPos, $SliderUntenPos, $SliderLinksPos, $SliderRechtsPos
Global $doc, $Anmelden, $oIE, $loggedin, $WinStat, $FaceStat, $maxi, $run, $menuopen, $fileopen, $save, $AuswCol, $AuswChksm, $hIE
Local $menu1, $n1, $bErst, $bHinz, $bBearb, $msg, $menustate, $menutext, $hinz, $countl, $num, $Pos, $col, $oInputs, $oForm
Local $oPass, $oUser, $oDiv, $count, $datfile, $DatenGUI, $handle, $datasplit, $mill, $face, $menuexit, $savdat
Dim $Anmelden = WinExists('Anmelden')
Dim $dll = DllOpen("user32.dll")
Local $sUser = 'XXXXX'
Local $sPass = 'xxxx'
Local $url = 'www.google.de'
Local $loginurl = 'www.google.de'
Local $stateface = WinGetState('google')
Local $statemill = WinGetState('google')
Dim $Haus[255][10]
Dim $countl
$Haus[0][0] = 'Nr.'
$Haus[0][1] = 'x'
$Haus[0][2] = 'y'
$Haus[0][3] = 'col'
$Haus[0][4] = 'Ausw-M.'
$Haus[0][5] = 'AuswChksm'
$Haus[0][6] = 'x oben'
$Haus[0][7] = 'y oben'
$Haus[0][8] = 'x unten'
$Haus[0][9] = 'y unten'
$Scale = 10
$Sl1ScaleMin = 0
$Sl1ScaleMax = @DesktopWidth
$Sl2ScaleMin = 0
$Sl2ScaleMax = @DesktopHeight
$dist = 96
$Border = 4
$PixelDat = 4
$Pos = MouseGetPos()
HotKeySet("{ESC}", "Beenden")
;Opt('MustDeclareVars', 1)
Opt("MouseClickDelay", 250)
Opt("GUIOnEventMode", 1)
;GUI
$LupeGUI = GUICreate("Main", 275, 510, -1, -1, $WS_MINIMIZEBOX + $WS_EX_LAYERED, $WS_EX_TOPMOST);$WS_MINIMIZEBOX + $WS_EX_LAYERED + $WS_SIZEBOX + $WS_SYSMENU, $WS_EX_TOPMOST)
GUISetOnEvent($GUI_EVENT_CLOSE, 'Beenden')
$menu1 = GUICtrlCreateMenu("File")
$menuData = GUICtrlCreateMenuItem("Daten", $menu1)
GUICtrlSetOnEvent($menuData, 'DatenGUI')
$menuexit = GUICtrlCreateMenuItem("Beenden", $menu1)
GUICtrlSetOnEvent($menuexit, 'Beenden')
$menu2 = GUICtrlCreateMenu('Einstellungen')
$menuVoreinstl = GUICtrlCreateMenu('Voreinstellungen', $menu2, 1)
$menuVoreinstlLaden = GUICtrlCreateMenuItem('Voreinstellungen laden', $menuVoreinstl)
$menuVoreinstlBearb = GUICtrlCreateMenuItem('Voreinstellungen bearbeiten', $menuVoreinstl)
$menuEinst = GUICtrlCreateMenuItem('Einstellungen', $menu2)
$menu4 = GUICtrlCreateMenu('User')
$mHaus = GUICtrlCreateMenuItem('Häuserdaten', $menu4)
$mLaden = GUICtrlCreateMenuItem('Geschäftsdaten', $menu4)
$mUser = GUICtrlCreateMenuItem('User', $menu4)
GUICtrlSetOnEvent($mLaden, 'speichernunter')
GUICtrlSetOnEvent($mHaus, 'speichernunter')
GUICtrlSetOnEvent($mUser, 'speichernunter')
$SliderOben = GUICtrlCreateSlider(20, 0, 218, 32, 0, $TBS_NOTICKS)
$SliderUnten = GUICtrlCreateSlider(20, 226, 218, 32, BitOR($TBS_TOP, $TBS_LEFT, $TBS_NOTICKS))
$SliderLinks = GUICtrlCreateSlider(5, 17, 32, 218, $TBS_VERT, $TBS_NOTICKS)
$SliderRechts = GUICtrlCreateSlider(230, 17, 34, 218, BitOR($TBS_VERT, $TBS_NOTICKS, $TBS_TOP, $TBS_LEFT))
$Input1 = GUICtrlCreateInput("", 4, 400, 130, 20, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
$Input2 = GUICtrlCreateInput("", 4, 420, 130, 20, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
$Input3 = GUICtrlCreateInput("", 4, 440, 130, 20, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
$Input5 = GUICtrlCreateInput("", 80, 280, 30, 17, BitOR($ES_AUTOHSCROLL, $ES_READONLY, $ES_RIGHT))
$Input6 = GUICtrlCreateInput("", 80, 295, 30, 17, BitOR($ES_AUTOHSCROLL, $ES_READONLY, $ES_RIGHT))
$Input7 = GUICtrlCreateInput("", 4, 335, 130, 20, BitOR($ES_AUTOHSCROLL, $ES_READONLY, $ES_RIGHT))
$Input8 = GUICtrlCreateInput("", 4, 355, 130, 20, BitOR($ES_AUTOHSCROLL, $ES_READONLY, $ES_RIGHT))
$Input9 = GUICtrlCreateInput("", 137, 400, 130, 20, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
$Input10 = GUICtrlCreateInput("", 137, 420, 130, 20, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
$Input11 = GUICtrlCreateInput("", 137, 440, 130, 20, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
$Label1 = GUICtrlCreateLabel("Koordinaten:", 8, 383, 64, 17)
$Label2 = GUICtrlCreateLabel(' x - Achse = ', 20, 280, 48, 17)
$Label3 = GUICtrlCreateLabel(' y - Achse = ', 20, 295, 48, 17)
$Label5 = GUICtrlCreateLabel('Auswahl', 25, 319, 65, 15, BitOR($ES_AUTOHSCROLL, $ES_READONLY, $ES_RIGHT))
$Label6 = GUICtrlCreateLabel('Lupe', 20, 262, 65, 17, BitOR($ES_AUTOHSCROLL, $ES_READONLY, $ES_RIGHT))
$Label7 = GUICtrlCreateLabel("Farbwerte:", 140, 383, 64, 17)
GUICtrlSetFont($Label1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetFont($Label7, 8, 400, 4, "MS Sans Serif")
GUICtrlSetFont($Label5, 9, 800, 4, "MS Sans Serif")
GUICtrlSetFont($Label6, 9, 800, 4, "MS Sans Serif")
$Checkbox1 = GUICtrlCreateCheckbox(' fixieren (ALT + 1)', 137, 280, 130, 17, BitOR($BS_CHECKBOX, $BS_AUTOCHECKBOX, $BS_RIGHTBUTTON, $BS_MULTILINE, $BS_FLAT, $WS_TABSTOP, $WS_CLIPSIBLINGS), $WS_EX_STATICEDGE)
$Checkbox2 = GUICtrlCreateCheckbox(' Modi Switch (ALT + 2)', 137, 297, 130, 17, BitOR($BS_CHECKBOX, $BS_AUTOCHECKBOX, $BS_RIGHTBUTTON, $BS_MULTILINE, $BS_FLAT, $WS_TABSTOP, $WS_CLIPSIBLINGS), $WS_EX_STATICEDGE)
$Checkbox3 = GUICtrlCreateCheckbox(' + Pic save (ALT + 3)', 137, 314, 130, 17, BitOR($BS_CHECKBOX, $BS_AUTOCHECKBOX, $BS_RIGHTBUTTON, $BS_MULTILINE, $BS_FLAT, $WS_TABSTOP, $WS_CLIPSIBLINGS), $WS_EX_STATICEDGE)
$Button1 = GUICtrlCreateButton(" Einloggen ", 157, 337, 90, 20, BitOR($BS_CENTER, $WS_GROUP, $WS_BORDER))
$Button2 = GUICtrlCreateButton(" City maximieren ", 157, 359, 90, 20, BitOR($BS_CENTER, $WS_GROUP, $WS_BORDER))
GUICtrlSetOnEvent($Button1, 'Einloggen')
GUICtrlSetOnEvent($Button2, 'maximieren')
$hPen = _GDIPlus_PenCreate()
;GUICtrlSetResizing ($LupeGUI, $GUI_DOCKAUTO)
GUISetState(@SW_SHOW, $LupeGUI)
GUICtrlSetLimit($SliderOben, 192, 0)
GUICtrlSetData($SliderOben, 45)
GUICtrlSetLimit($SliderUnten, 192, 0)
GUICtrlSetData($SliderUnten, 80)
GUICtrlSetLimit($SliderLinks, 192, 0)
GUICtrlSetData($SliderLinks, 80)
GUICtrlSetLimit($SliderRechts, 192, 0)
GUICtrlSetData($SliderRechts, 120)
GUICtrlSetData($menu4, 'Userdaten')
$save = FileOpen(@ScriptDir & '\User.txt', 2)
$datfile = @ScriptDir & '\User.txt'
$savdat = 'Userdaten'
$SliderObenPos = _GUICtrlSlider_GetPos($SliderOben)
$SliderUntenPos = _GUICtrlSlider_GetPos($SliderUnten)
$SliderLinksPos = _GUICtrlSlider_GetPos($SliderLinks)
$SliderRechtsPos = _GUICtrlSlider_GetPos($SliderRechts)
;
$hLupe = GUICreate("", ($dist / 2), ($dist / 2), $Pos[0] + ($dist / 8), $Pos[1] + ($dist / 8), $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST, $WS_EX_STATICEDGE), $LupeGUI)
GUICtrlSetBkColor(GUICtrlCreateLabel("", 0, 0, ($dist / 2), ($dist / 2)), 0xFF0000)
GUICtrlSetBkColor(GUICtrlCreateLabel("", 2, 2, (($dist / 2) - $Border), (($dist / 2) - $Border)), 0xABCDEF)
GUISetState()
GUISwitch($LupeGUI)
;
_GDIPlus_Startup()
_WinAPI_SetLayeredWindowAttributes($hLupe, 0xABCDEF, 255)
$hWnd_Desktop = _WinAPI_GetDesktopWindow()
$hDC_Source = _WinAPI_GetDC($hWnd_Desktop)
$hDC_Dest = _WinAPI_GetDC($LupeGUI)
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($LupeGUI)
WinActivate('Main')
;DatensatzGUI()
[/autoit] [autoit][/autoit] [autoit];Schleife
While 1;GUIGetMsg(1) <> $GUI_EVENT_CLOSE
Sleep(10)
$Pos = MouseGetPos()
;Checkbox1 check ' fixieren'
If _IsPressed('12', $dll) And _IsPressed('31', $dll) Then
Sleep(50)
If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
ElseIf BitAND(GUICtrlRead($Checkbox1), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
GUICtrlSetState($Checkbox1, $GUI_CHECKED)
EndIf
EndIf
;wenn Checkbox1 'unchecked' löse Lupe von Maus
If BitAND(GUICtrlRead($Checkbox1), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
;Mausposition abfragen
$Pos = MouseGetPos()
; MausAuswahlposition abfragen
$aWinPos = WinGetPos($hLupe)
$iX = $aWinPos[0] ; x
$iY = $aWinPos[1] ; y
$iW = $aWinPos[2] ; width
$iH = $aWinPos[3] ; height
;InfoPost
;Input Zeilen
GUICtrlSetData($Input1, 'Maus: x = ' & $Pos[0] & ' , y = ' & $Pos[1])
GUICtrlSetData($Input2, 'Lupe: x = ' & $aWinPos[0] & ' , y = ' & $aWinPos[1])
GUICtrlSetData($Input3, 'Horiz.: ' & $countLR & ' , Vert.: ' & $countHR)
;Wenn sich Mausposition ändert
If $Pos[0] <> $PosOld[0] Or $Pos[1] <> $PosOld[1] Then
WinMove($hLupe, "", $Pos[0] + ($dist / 8), $Pos[1] + ($dist / 8))
$PosOld = $Pos
$countLR = 0
$countHR = 0
GUICtrlSetData($Input5, $iX + ($iW / 2))
GUICtrlSetData($Input6, $iY + ($iH / 2))
EndIf
;Wenn Bewegungstaste gedrückt
If _IsPressed('25', $dll) And $iX > $Sl1ScaleMin Then ;links gedrückt
$countLR = $countLR + (-1)
WinMove($hLupe, "", $iX - $Scale, $iY)
GUICtrlSetData($Input5, $iX + ($iW / 2))
_WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE + $RDW_ALLCHILDREN)
ElseIf _IsPressed('27', $dll) And ($iX + $iW) < $Sl1ScaleMax Then ;rechts gedrückt
$countLR = $countLR + 1
WinMove($hLupe, "", $iX + $Scale, $iY)
GUICtrlSetData($Input5, $iX + ($iW / 2))
_WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE + $RDW_ALLCHILDREN)
ElseIf _IsPressed('26', $dll) And $iY > $Sl2ScaleMin Then ;hoch gedrückt
$countHR = $countHR + (-1)
WinMove($hLupe, "", $iX, $iY - $Scale)
GUICtrlSetData($Input6, $iY + ($iH / 2))
_WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE + $RDW_ALLCHILDREN)
ElseIf _IsPressed('28', $dll) And ($iY + $iH) < $Sl2ScaleMax Then ;runter gedrückt
$countHR = $countHR + 1
WinMove($hLupe, "", $iX, $iY + $Scale)
GUICtrlSetData($Input6, $iY + ($iH / 2))
_WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE + $RDW_ALLCHILDREN)
EndIf
$SliderObenPos = _GUICtrlSlider_GetPos($SliderOben)
$SliderUntenPos = _GUICtrlSlider_GetPos($SliderUnten)
$SliderLinksPos = _GUICtrlSlider_GetPos($SliderLinks)
$SliderRechtsPos = _GUICtrlSlider_GetPos($SliderRechts)
If $SliderObenPos <> $PosSlOld[0] Or $SliderUntenPos <> $PosSlOld[1] Or $SliderLinksPos <> $PosSlOld[2] Or $SliderRechtsPos <> $PosSlOld[3] Then
$PosSlOld[0] = $SliderObenPos
$PosSlOld[1] = $SliderUntenPos
$PosSlOld[2] = $SliderLinksPos
$PosSlOld[3] = $SliderRechtsPos
EndIf
draw()
;wenn Checkbox1 'checked'
ElseIf BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) = $GUI_CHECKED Then
$WinPosSave = WinGetPos($hLupe)
$iX = $WinPosSave[0] ; x
$iY = $WinPosSave[1] ; y
$iW = $WinPosSave[2] ; width
$iH = $WinPosSave[3] ; height
draw()
EndIf
;
;Checkbox2 check ' Modi Switch'
If _IsPressed('12', $dll) And _IsPressed('32', $dll) Then
Sleep(50)
If BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($Checkbox2, $GUI_UNCHECKED)
ElseIf BitAND(GUICtrlRead($Checkbox2), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
GUICtrlSetState($Checkbox2, $GUI_CHECKED)
EndIf
EndIf
If BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) = $GUI_CHECKED And $menuMode = 0 Then
$menuMode = 1
WinSetState($hLupe, '', @SW_HIDE)
GUISetState(@SW_MINIMIZE, $LupeGUI)
ToolTip('')
;maximieren()
ElseIf BitAND(GUICtrlRead($Checkbox2), $GUI_UNCHECKED) = $GUI_UNCHECKED And $menuMode = 1 Then
$menuMode = 0
WinSetState($hLupe, '', @SW_SHOW)
GUISetState(@SW_RESTORE, $LupeGUI)
ToolTip('')
EndIf
;Checkbox3 check ' + Pic Save'
If _IsPressed('12', $dll) And _IsPressed('33', $dll) Then
Sleep(50)
If BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($Checkbox3, $GUI_UNCHECKED)
ElseIf BitAND(GUICtrlRead($Checkbox3), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
GUICtrlSetState($Checkbox3, $GUI_CHECKED)
EndIf
EndIf
If BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED) = $GUI_CHECKED Then
$PicSave = 1
ElseIf BitAND(GUICtrlRead($Checkbox3), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
$PicSave = 0
EndIf
;X,Y Berechnung per Slider
$x1 = $SliderObenPos / 192 * $iW
$X2 = $SliderUntenPos / 192 * $iW
$X = Round(Min($x1, $X2), 0)
$y1 = $SliderLinksPos / 192 * $iW
$Y2 = $SliderRechtsPos / 192 * $iW
$Y = Round(Min($y1, $Y2), 0)
$y1 = Round($SliderLinksPos / 192 * $iW, 0)
$Y2 = Round($SliderRechtsPos / 192 * $iW, 0)
$w1 = Floor(Abs($SliderObenPos - $SliderUntenPos) / 192 * $iH)
$h1 = Floor(Abs($SliderLinksPos - $SliderRechtsPos) / 192 * $iW)
;Tooltip
If $menuMode = 0 And BitAND(WinGetState($LupeGUI), 2) = 2 Then
If BitAND(WinGetState($LupeGUI), 16) = 16 Then
ToolTip('')
ElseIf BitAND(WinGetState($LupeGUI), 1) = 1 Then
ToolTip(($aWinPos[0] + ($aWinPos[2] / 2)) & ', ' & ($aWinPos[1] + ($aWinPos[3] / 2)), $iX, $iY + $iH)
EndIf
If $SliderLinksPos > $SliderRechtsPos Then
$Ya = $SliderRechtsPos
$Y = $SliderRechtsPos + $iY
$height = $SliderLinksPos - $SliderRechtsPos
$Y2 = $Y + $height
Else
$Ya = $SliderLinksPos
$Y = $SliderLinksPos + $iY
$height = $SliderRechtsPos - $SliderLinksPos
$Y2 = $Y + $height
EndIf
If $SliderObenPos > $SliderUntenPos Then
$Xa = $SliderUntenPos
$X = $SliderUntenPos + $iX
$width = $SliderObenPos - $SliderUntenPos
$X2 = $X + $width
Else
$Xa = $SliderObenPos
$X = $SliderObenPos + $iX
$width = $SliderUntenPos - $SliderObenPos
$X2 = $X + $width
EndIf
ElseIf $menuMode = 1 Then ;ToolTip
ToolTip('Datensatz: ' & $savdat & @CRLF & 'Nr.: ' & $num + 1 & ', x=' & $Pos[0] & ' / y=' & $Pos[1] & @CRLF & 'col=' & $col & @CRLF & 'MitteLupe.: ' & $AuswCol & @CRLF & 'MitteAusw.: ' & $AuswMitte & @CRLF & 'AuswChksm: ' & $auswPixCksm, $Pos[0] + 50, $Pos[1] - 10)
EndIf
;Fenster Animation 'Zusammenhang sichern'
If WinGetState($LupeGUI) = 16 And WinGetState($hLupe) = 2 And $winLupeState = 1 Then
$winLupeState = 0
GUISetState(@SW_HIDE, $hLupe)
WinSetState($hLupe, '', @SW_HIDE)
ElseIf WinGetState($LupeGUI) = 3 And WinGetState($hLupe) <> 2 Then
$winLupeState = 1
GUISetState(@SW_SHOW, $hLupe)
WinSetState($hLupe, '', @SW_SHOW)
EndIf
If _IsPressed('10', $dll) And _IsPressed('01', $dll) Then
;If _IsPressed('01', $dll) Then
$num = $num + 1
$Haus[$num][0] = $num ;Position
$Haus[$num][1] = $Pos[0] ;x-Pos
$Haus[$num][2] = $Pos[1] ;y-Pos
$Haus[$num][3] = $col ;Mouse PixColor
$Haus[$num][4] = $AuswCol ;Lupe Mitte Color (!)
$Haus[$num][5] = $auswPixCksm ;Auswahl Mitte Color
$Haus[$num][6] = ($iX + $X) ;x oben
$Haus[$num][7] = ($iY + $Y) ;y oben
$Haus[$num][8] = ($iX + $X + $w1) ;x unten
$Haus[$num][9] = ($iY + $Y + $h1) ;y unten
;Bild speichern?
If $PicSave = 1 Then
$sDir = 'C:\Dokumente und Einstellungen\Besitzer\Desktop\' & StringFormat('%s.%s.%s\%s', @MDAY, @MON, @YEAR, $num)
DirCreate($sDir)
$sFile1 = $sDir & "\mColors.txt"
$sFile2 = $sDir & "\aColors.txt"
$hFile1 = FileOpen($sFile1, 1) ; 1 = append (anhängen)
$hFile2 = FileOpen($sFile2, 1) ; 1 = append (anhängen)
$hBMP = _ScreenCapture_Capture($sDir & '\Lupe.jpg', $iX, $iY, $iX + $iW, $iY + $iH)
$hBMP2 = _ScreenCapture_Capture($sDir & '\Auswahl.jpg', $iX + $X - 2, $iY + $Y - 2, $iX + $X + $w1, $iY + $Y + $h1)
$hBMPm = _ScreenCapture_Capture($sDir & '\Maus.jpg', $Pos[0] - $pMGr, $Pos[1] - $pMGr, $Pos[0] + $pMGr, $Pos[1] + $pMGr)
_ScreenCapture_SaveImage($sDir & '\Lupe.jpg', $hBMP)
_ScreenCapture_SaveImage($sDir & '\Auswahl.jpg', $hBMP2)
_ScreenCapture_SaveImage($sDir & '\Maus.jpg', $hBMPm)
$colors_A = _getPixelColors($Pos[0] - 10, $Pos[1] - 10, $Pos[0] + 10, $Pos[1] + 10, $hFile1)
$colors_B = _getPixelColors($iX + $X, $iY + $Y, $iX + $X + $w1, $iY + $Y + $h1, $hFile2)
EndIf
;Daten speichern
FileWrite($save, $Haus[$num][0] & ',' & $Haus[$num][1] & ',' & $Haus[$num][2] & ',' & $Haus[$num][3] & ',' & $Haus[$num][4] & ',' & $Haus[$num][5] & ',' & $Haus[$num][6] & ',' & $Haus[$num][7] & ',' & $Haus[$num][8] & ',' & $Haus[$num][9] & @CRLF)
Sleep(100)
;EndIf
EndIf
;Daten für GUI holen und setzen
;$savdat = GUICtrlRead($menu4)
$Pos = MouseGetPos()
$col = PixelGetColor($Pos[0], $Pos[1])
$AuswCol = PixelGetColor($iX + ($iW / 2), $iY + ($iH / 2))
$AuswMitte = PixelGetColor((($iX + $X) + ($w1 / 2)), (($iY + $Y) + ($h1 / 2))) ;Mitte Auswahlrechteck
$auswPixCksm = PixelChecksum(($iX + $X), ($iY + $Y), ($iX + $X) + Abs($SliderLinksPos - $SliderRechtsPos), ($iY + $Y) + Abs($SliderObenPos - $SliderUntenPos)) ;Auswahlrechteck x1,y1,x2,y2
GUICtrlSetData($Input9, 'Maus: ' & PixelGetColor($Pos[0], $Pos[1]))
GUICtrlSetData($Input10, 'Auswahl: ' & PixelGetColor($iX + ($iW / 2), $iY + ($iH / 2)))
GUICtrlSetData($Input11, 'AuswChksm: ' & $auswPixCksm)
GUICtrlSetData($Input7, ' x = ' & $iX + ($Xa / 2) & ', y = ' & $iY + ($Ya / 2))
GUICtrlSetData($Input8, 'Breite = ' & $width & ', Höhe = ' & $height)
WEnd
;Ende 'Schleife'
;Funktionen
Func DatenGUI()
ToolTip('')
WinSetState($hLupe, '', @SW_HIDE)
GUISetState(@SW_HIDE, $LupeGUI)
;GUI
$DatenGUI = GUICreate("Daten erfassen", 220, 110, -1, -1) ; (220x x 180y) will create a dialog box that when displayed is centered
GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents")
GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents")
$menu3 = GUICtrlCreateMenu("Dateien")
$menuopen = GUICtrlCreateMenuItem("Öffnen", $menu3)
GUICtrlSetOnEvent($menuopen, 'open')
$menuclose = GUICtrlCreateMenuItem("Schliessen", $menu3)
GUICtrlSetOnEvent($menuclose, 'schliessen')
$menuexit = GUICtrlCreateMenuItem("Exit", $menu3)
GUICtrlSetOnEvent($menuexit, 'Beenden')
$n1 = GUICtrlCreateList("", 10, 3, -1, 50)
$bErst = GUICtrlCreateButton("Erstellen", 10, 55, 50, 25)
GUICtrlSetOnEvent($bErst, 'erstellen')
$bHinz = GUICtrlCreateButton("Hinzufügen", 70, 55, 65, 25)
GUICtrlSetOnEvent($bHinz, 'hinzu')
$bBearb = GUICtrlCreateButton("Bearbeiten", 145, 55, 65, 25)
GUICtrlSetOnEvent($bBearb, 'bearbeiten')
GUICtrlSetData($n1, 'Geschäfte|Wohnhäuser|User', 'Geschäfte')
GUICtrlSetState($bHinz, $GUI_FOCUS) ; the focus is on this button
GUISetState()
GUISetState(@SW_SHOW, $DatenGUI)
;WinSetState($hLupe, '', @SW_SHOW)
;ENDE GUI
EndFunc ;==>DatenGUI
Func draw()
; Bild per StretchBlt übertragen
$Lupe = _WinAPI_StretchBlt( _
$hDC_Dest, 32, 30, 192, 192, _
$hDC_Source, $iX, $iY, $iW, $iH, _
$SRCCOPY)
;Auswahl 'Auswahlslider'
$SliderObenPos = _GUICtrlSlider_GetPos($SliderOben)
$SliderUntenPos = _GUICtrlSlider_GetPos($SliderUnten)
$SliderLinksPos = _GUICtrlSlider_GetPos($SliderLinks)
$SliderRechtsPos = _GUICtrlSlider_GetPos($SliderRechts)
;Auswahl zeichnen
_GDIPlus_GraphicsDrawLine($hGraphic, 32, 30 + $SliderLinksPos, 222, 30 + $SliderLinksPos, $hPen); oben
_GDIPlus_GraphicsDrawLine($hGraphic, 32, 30 + $SliderRechtsPos, 222, 30 + $SliderRechtsPos, $hPen); unten
_GDIPlus_GraphicsDrawLine($hGraphic, 32 + $SliderObenPos, 30, 32 + $SliderObenPos, 220, $hPen); links
_GDIPlus_GraphicsDrawLine($hGraphic, 32 + $SliderUntenPos, 30, 32 + $SliderUntenPos, 220, $hPen); rechts
EndFunc ;==>draw
Func Min($i, $j)
If $i > $j Then Return $j
Return $i
EndFunc ;==>Min
Func _WinAPI_StretchBlt($hDestDC, $iXDest, $iYDest, $iWidthDest, $iHeightDest, $hSrcDC, $iXSrc, $iYSrc, $iWidthSrc, $iHeightSrc, $iRop)
Local $Ret = DllCall('gdi32.dll', 'int', 'StretchBlt', 'hwnd', $hDestDC, 'int', $iXDest, 'int', $iYDest, 'int', $iWidthDest, 'int', $iHeightDest, 'hwnd', $hSrcDC, 'int', $iXSrc, 'int', $iYSrc, 'int', $iWidthSrc, 'int', $iHeightSrc, 'dword', $iRop)
If (@error) Or (Not IsArray($Ret)) Then
Return SetError(1, 0, 0)
EndIf
Return 1
EndFunc ;==>_WinAPI_StretchBlt
Func erstellen()
ToolTip('')
WinSetState($hLupe, '', @SW_HIDE)
WinSetState($DatenGUI, "", @SW_HIDE)
Switch MsgBox(4, "Angaben Korrekt?", 'Sie wollen die Daten für' & @CRLF & GUICtrlRead($n1) & @CRLF & 'neu erstellen?')
Case 6 ; JA
If GUICtrlRead($n1) = 'Geschäfte' Then
$save = FileOpen(@ScriptDir & '\Geschäftsdaten.txt', 2)
ElseIf GUICtrlRead($n1) = 'Wohnhäuser' Then
$save = FileOpen(@ScriptDir & '\Häuserdaten.txt', 2)
ElseIf GUICtrlRead($n1) = 'User' Then
$save = FileOpen(@ScriptDir & '\User.txt', 2)
EndIf
GUISetState(@SW_HIDE, $DatenGUI)
GUISetState(@SW_HIDE, $LupeGUI)
WinSetState($hLupe, '', @SW_HIDE)
Einloggen()
maximieren()
erfassen($save, $datfile)
Case 7 ; NEIN
GUISetState(@SW_HIDE, $DatenGUI)
GUISetState(@SW_SHOW, $LupeGUI)
WinSetState($hLupe, '', @SW_SHOW)
EndSwitch
EndFunc ;==>erstellen
Func hinzu()
ToolTip('')
WinSetState($hLupe, '', @SW_HIDE)
WinSetState($DatenGUI, "", @SW_HIDE)
Switch MsgBox(4, "Angaben Korrekt?", 'Sie wollen die Daten für' & @CRLF & GUICtrlRead($n1) & @CRLF & 'erweitern?')
Case 6 ; JA
$hinz = 1
If GUICtrlRead($n1) = 'Geschäfte' Then
$save = FileOpen(@ScriptDir & '\Geschäftsdaten.txt', 1)
$datfile = @ScriptDir & '\Geschäftsdaten.txt'
ElseIf GUICtrlRead($n1) = 'Wohnhäuser' Then
$save = FileOpen(@ScriptDir & '\Häuserdaten.txt', 1)
$datfile = @ScriptDir & '\Häuserdaten.txt'
ElseIf GUICtrlRead($n1) = 'User' Then
$save = FileOpen(@ScriptDir & '\User.txt', 1)
$datfile = @ScriptDir & '\User.txt'
EndIf
GUISetState(@SW_HIDE, $DatenGUI)
GUISetState(@SW_HIDE, $LupeGUI)
WinSetState($hLupe, '', @SW_HIDE)
Einloggen()
maximieren()
erfassen($save, $datfile)
Case 7 ; NEIN
GUISetState(@SW_HIDE, $DatenGUI)
GUISetState(@SW_SHOW, $LupeGUI)
WinSetState($hLupe, '', @SW_SHOW)
EndSwitch
EndFunc ;==>hinzu
Func bearbeiten()
If GUICtrlRead($n1) = 'Geschäfte' Then
$run = 'Notepad.exe ' & @ScriptDir & '\Geschäftsdaten.txt'
Run($run)
ElseIf GUICtrlRead($n1) = 'Wohnhäuser' Then
$run = 'Notepad.exe ' & @ScriptDir & '\Häuserdaten.txt'
Run($run)
ElseIf GUICtrlRead($n1) = 'User' Then
$run = 'Notepad.exe ' & @ScriptDir & '\User.txt'
Run($run)
EndIf
EndFunc ;==>bearbeiten
Func open()
$fileopen = FileOpenDialog("Wählen Sie eine Datei aus...", @TempDir, "Alle (*.*)")
If @error Then
MsgBox(4096, "Fehler!", 'Abbruch' & @CRLF & @CRLF & 'Keine Datei ausgewählt!')
Else
$run = 'Notepad.exe ' & $fileopen
Run($run)
EndIf
EndFunc ;==>open
Func Einloggen()
If BitAND($stateface, 1) Then
$handle = WinGetHandle('Facebook')
WinSetState($handle, "", @SW_MAXIMIZE)
$face = 1
$oIE = _IEAttach('Facebook')
$hIE = _IEPropertyGet($oIE, "hwnd")
WinSetState($hIE, "", @SW_MAXIMIZE)
_IENavigate($oIE, $url, 1)
WinActivate($oIE)
_IELoadWait($oIE)
ElseIf BitAND($statemill, 1) And $face = 0 Then
$mill = 1
$handle = WinGetHandle('Millionaire City auf Facebook')
WinSetState($handle, "", @SW_MAXIMIZE)
$oIE = _IEAttach('Facebook')
$hIE = _IEPropertyGet($oIE, "hwnd")
WinSetState($hIE, "", @SW_MAXIMIZE)
WinActivate($oIE)
ElseIf $mill = 0 Then
$oIE = _IECreate($loginurl, 1, 1, 1, 1); $url, $f_tryAttach=0, $f_visible=1, $f_wait=1, $f_takeFocus=1
$hIE = _IEPropertyGet($oIE, "hwnd")
WinSetState($hIE, "", @SW_MAXIMIZE)
_IELoadWait($oIE)
$oInputs = _IETagNameGetCollection($oIE, "input")
$oForm = _IEFormGetCollection($oIE, 0)
$oUser = _IEGetObjByName($oIE, "email")
$oPass = _IEGetObjByName($oIE, "pass")
$oDiv = _IEGetObjById($oIE, "buttons")
_IEFormElementSetValue($oUser, $sUser)
_IEFormElementSetValue($oPass, $sPass)
_IEFormSubmit($oForm)
_IENavigate($oIE, $url)
_IELoadWait($oIE)
Sleep(500)
_IELoadWait($oIE)
EndIf
EndFunc ;==>Einloggen
Func maximieren()
WinActivate("Millionaire City auf Facebook")
WinWaitActive("Millionaire City auf Facebook")
Sleep(250)
MouseClick("left", 1010, 165, 1)
MouseMove(1010, 256, 1)
MouseDown("left")
MouseMove(1010, 350, 20)
MouseUp("left")
MouseClick("left", 769, 500, 3, 20)
MouseClick("left", 771, 530, 1)
Sleep(1000)
MouseMove(737, 544, 1)
MouseDown("left")
MouseMove(749, 408, 30)
MouseUp("left")
Sleep(100)
EndFunc ;==>maximieren
Func erfassen($save, $datfile)
_FileReadToArray($datfile, $count)
If $hinz = 1 Then
$num = $num + $count[0]
EndIf
EndFunc ;==>erfassen
Func speichernunter()
Select
Case @GUI_CtrlId = $mLaden
GUICtrlSetData($menu4, "Geschäftsdaten")
$save = FileOpen(@ScriptDir & '\Geschäftsdaten.txt', 2)
$datfile = @ScriptDir & '\Geschäftsdaten.txt'
$savdat = "Geschäftsdaten"
Case @GUI_CtrlId = $mHaus
GUICtrlSetData($menu4, 'Häuserdaten')
$save = FileOpen(@ScriptDir & '\Häuserdaten.txt', 2)
$datfile = @ScriptDir & '\Häuserdaten.txt'
$savdat = 'Häuserdaten'
Case @GUI_CtrlId = $mUser
GUICtrlSetData($menu4, 'Userdaten')
$save = FileOpen(@ScriptDir & '\User.txt', 2)
$datfile = @ScriptDir & '\User.txt'
$savdat = 'Userdaten'
EndSelect
EndFunc ;==>speichernunter
Func SpecialEvents()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE, $DatenGUI)
GUISetState(@SW_SHOW, $LupeGUI)
WinSetState($hLupe, '', @SW_SHOW)
Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
;MsgBox(0, "Fenster minimiert", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
Case @GUI_CtrlId = $GUI_EVENT_RESTORE
;MsgBox(0, "Fenster wiederhergestellt", "ID=" & @GUI_CtrlId & " WinHandle=" & @GUI_WinHandle)
EndSelect
EndFunc ;==>SpecialEvents
Func schliessen()
GUISetState(@SW_HIDE, $DatenGUI)
GUISetState(@SW_SHOW, $LupeGUI)
WinSetState($hLupe, '', @SW_SHOW)
EndFunc ;==>schliessen
Func Beenden()
_GDIPlus_PenDispose($hPen)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
FileClose($save)
DllClose($dll)
Exit
EndFunc ;==>Beenden
Func _getPixelColors($start_X, $start_Y, $end_X, $end_Y, $File)
Local $coord[$end_X - $start_X][$end_Y - $start_Y]
For $X = 0 To UBound($coord, 1) - 1
For $Y = 0 To UBound($coord, 2) - 1
$coord[$X][$Y] = PixelGetColor($X + $start_X, $Y + $start_Y)
FileWrite($File, $X & ',' & $Y & ',' & $coord[$X][$Y] & @CRLF)
Next
Next
Return $coord
EndFunc ;==>_getPixelColors
Func DatensatzGUI()
$DatensatzGUI = GUICreate("Datensatz: " & $savdat, 633, 454, 192, 114)
$ListView1 = GUICtrlCreateListView("||||||||", 208, 80, 250, 150)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 5, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 6, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 7, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 8, 50)
_FileReadToArray($datfile, $FileLines)
For $i = 1 To $FileLines[0]
$List[$i] = GUICtrlCreateListViewItem($i, $ListView1)
Next
GUISetState(@SW_SHOW)
EndFunc ;==>DatensatzGUI
;Ende 'Funktionen'