Imagesearch funktioniert nicht...

06/04/2011 21:41 Meikbrosoft#1
Hey Leute,

hab mich mal mit imagesearch versucht.

Ich hab eine GUI wo 3 Checkboxen sind. (Rechtsklick,Doppelklick und Linksklick)

Ich wollte dann wenn ich mehrere angeklickt habe, eine msgbox kommt die jemanden drauf aufmerksam macht, das man zuviele angeklickt hat. sonst wie gesagt rechtsklick,linksklick, oder doppelklick machen. Wenn ich das programm starte funktioniert es aber nicht. keine error meldungen nur es passiert einfach nichts außer das mit browse hier mal das script:
PHP Code:
$x1 0
$y1 
0
#include <Imagesearch.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\TheFreakBpx3\Desktop\Programme\fz3\design.kxf
$Form1 GUICreate("IMD  Copyright 2011 **********  "414233398314)
GUISetFont(124000"MS Sans Serif")
$Input1 GUICtrlCreateInput(""84031328)
$browse GUICtrlCreateButton("Browse"328327341$WS_GROUP)
$Label1 GUICtrlCreateLabel("Wähle dein Bild bzw. Bild Ausschnitt:"81625023)
GUICtrlSetFont(-1124000"Candara")
$doppelklick GUICtrlCreateCheckbox("Doppelklick"815211325)
$rechtsklick GUICtrlCreateCheckbox("Rechtsklick"817610525)
$linksklick GUICtrlCreateCheckbox("Linksklick"820011325)
$Label2 GUICtrlCreateLabel("HotKeys setzen:"14413611223)
GUICtrlSetFont(-1124000"Candara")
$Label3 GUICtrlCreateLabel("Starten:"1441686124)
$starten GUICtrlCreateInput(""2081688921)
$Label4 GUICtrlCreateLabel("Beenden:"1442007324)
$beenden GUICtrlCreateInput(""2162008121)
$startenb GUICtrlCreateButton("Starten"3121528933$WS_GROUP)
$beendenb GUICtrlCreateButton("Beenden"3121928933$WS_GROUP)
$Label5 GUICtrlCreateLabel("Abstand nach jedem Klick (in Sekunden) : "88028423)
GUICtrlSetFont(-1124000"Candara")
$sekunden GUICtrlCreateInput(""810431328)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

        Case 
$browse
            $file 
FileOpenDialog("Wähle dein Bild bzw. Bild Auschnitt:",@WorkingDir,"(*.jpg;*.png;*.bmp;*.gif)")
            
GUICtrlSetData($Input1,$file)
        Case 
$startenb
            
If GUICtrlRead($Input1) = ""  Then
                MsgBox
(0,"ERROR!","Kein Bild ausgewählt!")
                else
            
$result _ImageSearch($file,1,$x1,$y1,0)
            If 
$result 1 Then
                
If GUICtrlRead($doppelklick) = $GUI_CHECKED Then
                    MouseClick
("LEFT")
                    
MouseClick("LEFT")
                else
                    If 
GUICTRLREAD($rechtsklick) = $GUI_CHECKED Then
                        MouseClick
("RIGHT")
                    Else
                        if 
GUICtrlRead($linksklick) = $GUI_CHECKED Then
                            MouseClick
("LEFT")
                        Else
                        
Msgbox(0,"Nur eins Wählen","zuviel")
                    EndIf
                EndIf
            EndIf
        EndIf
endif
        Case 
$beendenb
            
exit
    EndSwitch
WEnd 
06/04/2011 22:07 Ludder231#2
vllt gehts so:

PHP Code:
$x1 0
$y1 
0
#include <Imagesearch.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\TheFreakBpx3\Desktop\Programme\fz3\design.kxf
$Form1 GUICreate("IMD  Copyright 2011 **********  "414233398314)
GUISetFont(124000"MS Sans Serif")
$Input1 GUICtrlCreateInput(""84031328)
$browse GUICtrlCreateButton("Browse"328327341$WS_GROUP)
$Label1 GUICtrlCreateLabel("Wähle dein Bild bzw. Bild Ausschnitt:"81625023)
GUICtrlSetFont(-1124000"Candara")
$doppelklick GUICtrlCreateCheckbox("Doppelklick"815211325)
$rechtsklick GUICtrlCreateCheckbox("Rechtsklick"817610525)
$linksklick GUICtrlCreateCheckbox("Linksklick"820011325)
$Label2 GUICtrlCreateLabel("HotKeys setzen:"14413611223)
GUICtrlSetFont(-1124000"Candara")
$Label3 GUICtrlCreateLabel("Starten:"1441686124)
$starten GUICtrlCreateInput(""2081688921)
$Label4 GUICtrlCreateLabel("Beenden:"1442007324)
$beenden GUICtrlCreateInput(""2162008121)
$startenb GUICtrlCreateButton("Starten"3121528933$WS_GROUP)
$beendenb GUICtrlCreateButton("Beenden"3121928933$WS_GROUP)
$Label5 GUICtrlCreateLabel("Abstand nach jedem Klick (in Sekunden) : "88028423)
GUICtrlSetFont(-1124000"Candara")
$sekunden GUICtrlCreateInput(""810431328)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

        Case 
$browse
            $file 
FileOpenDialog("Wähle dein Bild bzw. Bild Auschnitt:",@WorkingDir,"(*.jpg;*.png;*.bmp;*.gif)")
            
GUICtrlSetData($Input1,$file)
        Case 
$startenb
            
If GUICtrlRead($Input1) = ""  Then
                MsgBox
(0,"ERROR!","Kein Bild ausgewählt!")
               endif
            
$result _ImageSearch($file,1,$x1,$y1,0)
            If 
$result 1 Then
                
If GUICtrlRead($doppelklick) = $GUI_CHECKED Then
                    MouseClick
("LEFT")
                    
MouseClick("LEFT")
                elseif 
GUICTRLREAD($rechtsklick) = $GUI_CHECKED Then
                    MouseClick
("RIGHT")
                    
                Elseif 
GUICtrlRead($linksklick) = $GUI_CHECKED Then
                            MouseClick
("LEFT")
                Else
                
Msgbox(0,"Nur eins Wählen","zuviel")
                 
             EndIf
             endif

        Case 
$beendenb
            
exit
    EndSwitch
WEnd 
06/04/2011 22:13 Meikbrosoft#3
funktioniert nicht, aber danke :)

wenn man öfters auf starten klickt und dann aufs kreuz dann öffnet sich öfters hier der befehl fileopendialo
06/04/2011 22:23 Ludder231#4
Oh hab die frage garnciht gelsen dachte du hast ein Problem mit den else blabla da :D Sorry mal sehen was sich machen lässt :D
06/04/2011 22:31 Meikbrosoft#5
Quote:
Originally Posted by Ludder231 View Post
Oh hab die frage garnciht gelsen dachte du hast ein Problem mit den else blabla da :D Sorry mal sehen was sich machen lässt :D
xD ist nicht schlimm ^^

mein problem ist einfach, das nichts passiert nach dem ich irgend ne checkbox angeklickt hab.
der error kommt wenn ich kein bild ausgewählt habe...
ey mom ich mal ne idee xDDD vllt muss ich die gesamte if funktionen in ner schleife packen... nein das war keine gute idee xD
also es passiert einfach nichts... :x
06/04/2011 22:51 Ludder231#6
Ich glaube das geht garnicht zu checken wie viele checkboxhen $gui_checked sind -.-

Hab alles ausprobiert mit +, &, and, or nichts hilft.

Aber du kannst machen das wenn du eine anklickst die andern unanklickbar sind...Leider weiß ich nicht wie man es macht dass wenn die nicht mehr $gui_Checked ist das die anderen wieder anklickbar sind :(

PHP Code:
$x1 0
$y1 
0
#include <Imagesearch.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\TheFreakBpx3\Desktop\Programme\fz3\design.kxf
$Form1 GUICreate("IMD  Copyright 2011 **********  "414233398314)
GUISetFont(124000"MS Sans Serif")
$Input1 GUICtrlCreateInput(""84031328)
$browse GUICtrlCreateButton("Browse"328327341$WS_GROUP)
$Label1 GUICtrlCreateLabel("Wähle dein Bild bzw. Bild Ausschnitt:"81625023)
GUICtrlSetFont(-1124000"Candara")
$checkbox1 GUICtrlCreateCheckbox("Doppelklick"815211325)
$checkbox2 GUICtrlCreateCheckbox("Rechtsklick"817610525)
$checkbox3 GUICtrlCreateCheckbox("Linksklick"820011325)
$Label2 GUICtrlCreateLabel("HotKeys setzen:"14413611223)
GUICtrlSetFont(-1124000"Candara")
$Label3 GUICtrlCreateLabel("Starten:"1441686124)
$starten GUICtrlCreateInput(""2081688921)
$Label4 GUICtrlCreateLabel("Beenden:"1442007324)
$beenden GUICtrlCreateInput(""2162008121)
$startenb GUICtrlCreateButton("Starten"3121528933$WS_GROUP)
$beendenb GUICtrlCreateButton("Beenden"3121928933$WS_GROUP)
$Label5 GUICtrlCreateLabel("Abstand nach jedem Klick (in Sekunden) : "88028423)
GUICtrlSetFont(-1124000"Candara")
$sekunden GUICtrlCreateInput(""810431328)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$checked1 ""
$checked2 ""
$checked3 ""
global $checkbox1$checkbox2$checkbox3
While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

        Case 
$browse
            $file 
FileOpenDialog("Wähle dein Bild bzw. Bild Auschnitt:",@WorkingDir,"(*.jpg;*.png;*.bmp;*.gif)")
            
GUICtrlSetData($Input1,$file)
        Case 
$startenb
            
                
            
If GUICtrlRead($Input1) = ""  Then
                MsgBox
(0,"ERROR!","Kein Bild ausgewählt!")
                else
            
$result _ImageSearch($file,1,$x1,$y1,0)
            If 
$result 1 Then
                
If GUICtrlRead($checkbox1) = $GUI_CHECKED Then
                    MouseClick
("LEFT")
                    
MouseClick("LEFT")
                else
                    If 
GUICTRLREAD($checkbox2) = $GUI_CHECKED Then
                        MouseClick
("RIGHT")
                    Else
                        if 
GUICtrlRead($checkbox3) = $GUI_CHECKED Then
                            MouseClick
("LEFT")
                        EndIf
                  
                    
                EndIf
            EndIf
        EndIf
endif
        Case 
$beendenb
            
exit
            
        case 
$checkbox1
        
if GUICtrlread($checkbox1$gui_disableThen
            GUICtrlSetState
($checkbox1$gui_ENABLE)
            endif
        if 
GUICtrlRead($checkbox1) = $GUI_CHECKED Then
            GUICtrlSetState
($checkbox2$gui_disable)
            
GUICtrlSetState($checkbox3$gui_disable)
            
$checked1 "checked"
        
Else
            
            
$checked1 "unchecked"
        
endif
        
        case 
$checkbox2
            
if GUICtrlRead($checkbox2) = $GUI_CHECKED Then
            GUICtrlSetState
($checkbox3$gui_disable)
            
GUICtrlSetState($checkbox1$gui_disable)
            
$checked2 "checked"
            
Else
            
            
$checked2"unchecked"
        
endif
        
    
    case 
$checkbox3
            
if GUICtrlRead($checkbox3) = $GUI_CHECKED Then
            GUICtrlSetState
($checkbox1$gui_disable)
            
GUICtrlSetState($checkbox2$gui_disable)
            
$checked3 "checked"
            
Else
            
            
$checked3 "unchecked"
        
endif
    EndSwitch
WEnd 
06/04/2011 23:27 Meikbrosoft#7
schonmal ne nice idee,
nur das hauptproblem besteht immernoch: es passiert einfach nichts wenn man auf starten klickt.
06/05/2011 09:03 Ludder231#8
Hmmm vllt findet er ja die Bilder nicht oder du hast was vergessen. vllt das mit dem mousemove auf das worauf du klick willst?

Hier mit dem mousemove:
PHP Code:
        Case $startenb
            
            
            
If GUICtrlRead($Input1) = ""  Then
                MsgBox
(0,"ERROR!","Kein Bild ausgewählt!")
                else
            
$result _ImageSearch($file,1,$x1,$y1,0)
            If 
$result 1 Then
                
If GUICtrlRead($checkbox1) = $GUI_CHECKED Then
                    MouseMove
($x1$y15)
                    
MouseClick("LEFT")
                    
MouseClick("LEFT")
                else
                    If 
GUICTRLREAD($checkbox2) = $GUI_CHECKED Then
                        MouseMove
($x1$y15)
                        
MouseClick("RIGHT")
                    Else
                        if 
GUICtrlRead($checkbox3) = $GUI_CHECKED Then
                            MouseMove
($x1$y15)
                            
MouseClick("LEFT")
                        EndIf
                  
                    
                EndIf
            EndIf
        EndIf
endif 
06/06/2011 17:50 Meikbrosoft#9
Quote:
Originally Posted by Ludder231 View Post
Hmmm vllt findet er ja die Bilder nicht oder du hast was vergessen. vllt das mit dem mousemove auf das worauf du klick willst?

Hier mit dem mousemove:
PHP Code:
        Case $startenb
            
            
            
If GUICtrlRead($Input1) = ""  Then
                MsgBox
(0,"ERROR!","Kein Bild ausgewählt!")
                else
            
$result _ImageSearch($file,1,$x1,$y1,0)
            If 
$result 1 Then
                
If GUICtrlRead($checkbox1) = $GUI_CHECKED Then
                    MouseMove
($x1$y15)
                    
MouseClick("LEFT")
                    
MouseClick("LEFT")
                else
                    If 
GUICTRLREAD($checkbox2) = $GUI_CHECKED Then
                        MouseMove
($x1$y15)
                        
MouseClick("RIGHT")
                    Else
                        if 
GUICtrlRead($checkbox3) = $GUI_CHECKED Then
                            MouseMove
($x1$y15)
                            
MouseClick("LEFT")
                        EndIf
                  
                    
                EndIf
            EndIf
        EndIf
endif 
danke dir, das vllt nicht das ganz richtige doch du hast mich auf den weg gebracht ;)
#closerequest