Code:
#include <GuiEdit.au3>
#include <Misc.au3>
#include <File.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ###
$Form1 = GUICreate("InfoTool v 1.2", 457, 355, 201, 175)
$MenuItem1 = GUICtrlCreateMenu("&Info!")
$MenuItem2 = GUICtrlCreateMenuItem("Hilfe", $MenuItem1)
$Tab1 = GUICtrlCreateTab(196, 0, 260, 320)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem("Info")
$infoedit = GUICtrlCreateEdit("", 196, 24, 260, 300)
$TabSheet2 = GUICtrlCreateTabItem("MouseClick")
$mouseclickedit = GUICtrlCreateEdit("", 196, 24, 260, 300)
$TabSheet4 = GUICtrlCreateTabItem("PixelSearch")
$pixsearchedit = GUICtrlCreateEdit("", 196, 24, 260, 300)
GUICtrlCreateTabItem("")
$inputX = GUICtrlCreateLabel("", 0, 5, 73, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Label1 = GUICtrlCreateLabel("X - Achse :", 4, 36, 56, 17)
$Label2 = GUICtrlCreateLabel("Y - Achse :", 4, 64, 56, 17)
$Label3 = GUICtrlCreateLabel("Farbe :", 4, 104, 37, 17)
$input1 = GUICtrlCreateInput("", 76, 36, 65, 21)
$input2 = GUICtrlCreateInput("", 76, 64, 65, 21)
$input3 = GUICtrlCreateInput("", 76, 100, 65, 21)
$Checkbox1 = GUICtrlCreateCheckbox("Alles - ", 8, 148, 45, 21)
$Button1 = GUICtrlCreateButton("Leeren", 60, 148, 77, 25, $WS_GROUP)
$Button12 = GUICtrlCreateButton("Pause (500)", 75, 310, 77, 25, $WS_GROUP)
$Label4 = GUICtrlCreateLabel("MouseClick:", 8, 192, 62, 17)
$Radio1 = GUICtrlCreateRadio("Links", 12, 212, 45, 17)
GUICtrlSetState($Radio1, $GUI_CHECKED)
$Radio2 = GUICtrlCreateRadio("Rechts", 60, 212, 53, 17)
$Checkbox2 = GUICtrlCreateCheckbox("shade-variation", 8, 283, 93, 21)
$shade = GUICtrlCreateInput("", 108, 283, 57, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$extraedit = GUICtrlCreateButton("extra - edit", 0, 310, 73, 25, $WS_GROUP)
$Label6 = GUICtrlCreateLabel("_______________________________", 4, 172, 190, 17)
$Label7 = GUICtrlCreateLabel("_______________________________", 4, 232, 190, 17)
$Label8 = GUICtrlCreateLabel("_______________________________", 4, 128, 190, 17)
$Button2 = GUICtrlCreateButton("PixelSearch Code erzeugen", 20, 252, 137, 25, $WS_GROUP)
$Checkbox3 = GUICtrlCreateCheckbox("DoppelClick", 116, 212, 73, 17)
$controlSendClick = GUICtrlCreateButton("Control", 376, 0, 73, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
#Region ### START Koda GUI section ###
$Form2 = GUICreate("ControlSend / ControlClick", 699, 293, 252, 198)
$title = GUICtrlCreateInput("title ", 0, 16, 145, 21)
$text = GUICtrlCreateInput("text", 0, 48, 145, 21)
$controlid = GUICtrlCreateInput("ControlID ", 0, 80, 145, 21)
$string = GUICtrlCreateInput("String", 0, 112, 145, 21)
$flag = GUICtrlCreateInput("flag", 0, 144, 145, 21)
$controlsendinfo = GUICtrlCreateLabel('ControlSend("title","text",controlID,"string"[,flag])', 3, 232, 250, 17)
GUICtrlSetColor(-1, 0xFF0000)
$edit = GUICtrlCreateEdit("im fenster 1 drücken um einige infos zu erhalten" & @CRLF, 152, 8, 313, 169)
$controlsendbutton = GUICtrlCreateButton("ok", 24, 184, 89, 33, $WS_GROUP)
$loeschen = GUICtrlCreateButton("löschen", 240, 184, 105, 33, $WS_GROUP)
$controlclickinfo = GUICtrlCreateLabel('ControlClick("title","text",controlID[,button[,clicks[,x[,y]]]])', 420, 232, 270, 17)
GUICtrlSetColor(-1, 0xFF0000)
$controlclicktitle = GUICtrlCreateInput("title ", 480, 8, 145, 21)
$controlclicktext = GUICtrlCreateInput("text", 480, 32, 145, 21)
$controlclickcontrolid = GUICtrlCreateInput("ControlID ", 480, 56, 145, 21)
$controlclickbutton = GUICtrlCreateInput("button", 480, 80, 145, 21)
$controlclickx = GUICtrlCreateInput("x ", 480, 128, 145, 21)
$controlclicky = GUICtrlCreateInput("y ", 480, 152, 145, 21)
$controlclickclicks = GUICtrlCreateInput("clicks", 480, 104, 145, 21)
$controlclickok = GUICtrlCreateButton("ok", 496, 184, 89, 33, $WS_GROUP)
$zurueck = GUICtrlCreateButton("zurueck", 0, 256, 89, 33, $WS_GROUP)
$run = GUICtrlCreateButton("save", 435, 176, 30, 20, $WS_GROUP)
GUISetState(@SW_HIDE)
#EndRegion ### END Koda GUI section ###
#Region ### START Koda GUI section ### Form=
$Form3 = GUICreate("", 547, 234, 192, 124)
$Edit1 = GUICtrlCreateEdit("", 0, 0, 545, 233)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUISetState(@SW_HIDE)
#EndRegion ### END Koda GUI section ###
While 1
$msg = GUIGetMsg(1)
Switch $msg[1]
Case $Form1
Switch $msg[0]
Case $GUI_EVENT_CLOSE
Exit
Case $controlSendClick
GUISetState(@SW_SHOW, $Form2)
GUISetState(@SW_HIDE, $Form1)
Case $extraedit
GUISetState(@SW_SHOW, $Form3)
Case $Button1
If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData($infoedit, "")
GUICtrlSetData($mouseclickedit, "")
GUICtrlSetData($pixsearchedit, "")
ElseIf BitAND(GUICtrlRead($Checkbox1), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
Switch GUICtrlRead($Tab1)
Case 0
GUICtrlSetData($infoedit, "")
Case 1
GUICtrlSetData($mouseclickedit, "")
Case 2
GUICtrlSetData($pixsearchedit, "")
EndSwitch
EndIf
;==>Pause Button
Case $Button12
If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData($infoedit, "")
GUICtrlSetData($mouseclickedit, "")
GUICtrlSetData($pixsearchedit, "")
ElseIf BitAND(GUICtrlRead($Checkbox1), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
Switch GUICtrlRead($Tab1)
Case 0
GUICtrlSetData($infoedit, GUICtrlRead($infoedit) & "Pause(500)" & @CRLF)
Case 1
GUICtrlSetData($mouseclickedit, GUICtrlRead($mouseclickedit) & "Pause(500)" & @CRLF)
Case 2
GUICtrlSetData($pixsearchedit, GUICtrlRead($pixsearchedit) & "Pause(500)" & @CRLF)
EndSwitch
EndIf
;==>EndPause Button
Case $Button2
Local $Line = _GUICtrlEdit_GetLine($pixsearchedit, 0)
Local $Line2 = _GUICtrlEdit_GetLine($pixsearchedit, 2)
Local $line3 = _GUICtrlEdit_GetLine($pixsearchedit, 5)
If BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetData($pixsearchedit, GUICtrlRead($pixsearchedit) & GUICtrlRead($inputX) & @CRLF)
GUICtrlSetData($pixsearchedit, "PixelSearch(" & $Line & ", " & $Line2 & ", " & $line3 & ", " & GUICtrlRead($shade) & ")")
ElseIf BitAND(GUICtrlRead($Checkbox1), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
GUICtrlSetData($pixsearchedit, GUICtrlRead($pixsearchedit) & GUICtrlRead($inputX) & @CRLF)
GUICtrlSetData($pixsearchedit, "PixelSearch(" & $Line & ", " & $Line2 & ", " & $line3 & ")")
EndIf
EndSwitch
If $msg[0] = $MenuItem2 Then MsgBox(0, "Hilfe", "Steuerung und kurze Anleitung:" & @CRLF & @CRLF & @CRLF & "Durch drücken der F4 - Taste werden die Positionen gespeichert und angezeigt!" & @CRLF & @CRLF & "Durch drücken der F2 - Taste wird im MouseClick-Tab ein WinWaitActive des momentan aktiven Fensters erzeugt."& @CRLF & @CRLF & "PixelSearch Code erzeugen:" & @CRLF & _
"Wie gewohnt 3 Punkte bestimmen: ObenLinks,UntenRechts und Farbe." & @CRLF & "Dann den Button drücken. Bei wunsch noch shade-variation auswählen" & @CRLF & @CRLF & @CRLF & @CRLF & "NEU: ControlSend und ControlClick" & @CRLF & @CRLF & _
"Dazu den 'Control' - Button drücken, um ins Menü zu kommen. Im ACTIVEN Fenster 1 drücken um einige Informationen zu erhalten!" & @CRLF & @CRLF & _
"- Title" & @CRLF & "- ControlID" & @CRLF & "- X & Y werte vom desktop! (nicht vom fenster...)")
Case $Form2
Switch $msg[0]
Case $GUI_EVENT_CLOSE
Exit
Case $zurueck
GUISetState(@SW_SHOW, $Form1)
GUISetState(@SW_HIDE, $Form2)
Case $loeschen
GUICtrlSetData($edit, "")
Case $controlsendbutton
_controlsend()
Case $controlclickok
_controlclick()
Case $run
_speichern()
EndSwitch
Case $Form3
Switch $msg[0]
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE, $Form3)
EndSwitch
EndSwitch
start()
WEnd
Func start()
$pos = MouseGetPos()
$farbe = PixelGetColor($pos[0], $pos[1])
$rTitle = WinGetTitle("[active]")
$classNN = ControlGetFocus("[active]")
$dll = DllOpen("user32.dll")
GUICtrlSetData($input1, $pos[0])
GUICtrlSetData($input2, $pos[1])
GUICtrlSetData($input3, "0x" & Hex($farbe, 6))
GUICtrlSetData($inputX, $pos[0] & "," & $pos[1])
If BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($shade, $GUI_ENABLE)
ElseIf BitAND(GUICtrlRead($Checkbox2), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
GUICtrlSetState($shade, $GUI_DISABLE)
GUICtrlSetData($shade, "")
EndIf
$dll = DllOpen("user32.dll")
If _IsPressed("73", $dll) Then
Switch GUICtrlRead($Tab1)
Case 0
GUICtrlSetData($infoedit, GUICtrlRead($infoedit) & $pos[0] & @CRLF & $pos[1] & @CRLF & @CRLF & "0x" & Hex($farbe, 6) & @CRLF & @CRLF & @CRLF & @CRLF)
Case 1
If BitAND(GUICtrlRead($Checkbox3), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
If GUICtrlRead($Radio1) = 1 Then
GUICtrlSetData($mouseclickedit, GUICtrlRead($mouseclickedit) & "MouseClick(" & '"left"' & " , " & $pos[0] & ", " & $pos[1] & ", 1)" & @CRLF & @CRLF)
Else
GUICtrlSetData($mouseclickedit, GUICtrlRead($mouseclickedit) & "MouseClick(" & '"right"' & " , " & $pos[0] & ", " & $pos[1] & ", 1)" & @CRLF & @CRLF)
EndIf
ElseIf BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED) = $GUI_CHECKED Then
If GUICtrlRead($Radio1) = 1 Then
GUICtrlSetData($mouseclickedit, GUICtrlRead($mouseclickedit) & "MouseClick(" & '"left"' & " , " & $pos[0] & ", " & $pos[1] & ", 2)" & @CRLF & @CRLF)
Else
GUICtrlSetData($mouseclickedit, GUICtrlRead($mouseclickedit) & "MouseClick(" & '"right"' & " , " & $pos[0] & ", " & $pos[1] & ", 2)" & @CRLF & @CRLF)
EndIf
Sleep(300)
EndIf
Case 2
GUICtrlSetData($pixsearchedit, GUICtrlRead($pixsearchedit) & GUICtrlRead($inputX) & @CRLF & "0x" & Hex($farbe, 6) & @CRLF)
EndSwitch
GUICtrlSetData($title, $rTitle)
GUICtrlSetData($text, "")
GUICtrlSetData($controlid, $classNN)
GUICtrlSetData($flag, "")
GUICtrlSetData($controlclicktitle, $rTitle)
GUICtrlSetData($controlclicktext, "")
GUICtrlSetData($controlclickcontrolid, $classNN)
GUICtrlSetData($controlclickbutton, "left")
GUICtrlSetData($controlclickclicks, "1")
GUICtrlSetData($controlclickx, $pos[0])
GUICtrlSetData($controlclicky, $pos[1])
Sleep(300)
EndIf
;==> WinWaitActive
If _IsPressed("71", $dll) Then
Switch GUICtrlRead($Tab1)
Case 1
GUICtrlSetData($mouseclickedit, GUICtrlRead($mouseclickedit) & "WinWaitActive(" & $rTitle & ")" & @CRLF & @CRLF)
Sleep (300)
EndSwitch
EndIf
;==> Ende WinWaitActive
DllClose($dll)
EndFunc ;==>start
Func _controlsend()
GUICtrlSetData($edit, GUICtrlRead($edit) & 'ControlSend("' & GUICtrlRead($title) & '", "' & GUICtrlRead($text) & '", "' & GUICtrlRead($controlid) & '", "' & GUICtrlRead($string) & '", "' & GUICtrlRead($flag) & '")' & @CRLF & @CRLF)
EndFunc ;==>_controlsend
Func _controlclick()
GUICtrlSetData($edit, GUICtrlRead($edit) & 'ControlClick("' & GUICtrlRead($controlclicktitle) & '", "' & GUICtrlRead($controlclicktext) & '", "' & GUICtrlRead($controlclickcontrolid) & '", "' & GUICtrlRead($controlclickbutton) & '", "' & GUICtrlRead($controlclickclicks) & '", "' & GUICtrlRead($controlclickx) & '", "' & GUICtrlRead($controlclicky) & '")' & @CRLF & @CRLF)
EndFunc ;==>_controlclick
Func _speichern()
$Count = 0
For $i = 1 To 100
If Not FileExists(@DesktopDir & "\info_save" & $i & ".au3") Then
$Count = $i
ExitLoop
EndIf
Next
If $Count > 0 Then
_FileCreate(@DesktopDir & "\info_save" & $Count & ".au3")
FileOpen(@DesktopDir & "\info_save" & $Count & ".au3", 1)
FileWrite(@DesktopDir & "\info_save" & $Count & ".au3", GUICtrlRead($edit))
MsgBox(64, "Erfolgreich", "auf dein desktop gespeichert")
Else
MsgBox(64, "Fehlgeschlagen", "fehler, versuchs nochmal")
EndIf
Sleep(50)
EndFunc ;==>_speichern