Anregungen und Vorschläge zu PROFAN
Hier können Vorschläge für künftige PROFAN-Versionen, Ausgestaltung der PROFAN-Seiten und -Foren, etc. gemacht werden.
  Suchen
 Zurück zur Übersicht
 AutorThema: Mausclick simulieren ?
Joerg Bauer
Datum:18.07.01 16:29 Antwortenals Email verschicken  


Ich möchte den Usern eines meiner Programme die ersten Arbeitsschritte als interaktives Tutorial erläutern. Dafür wäre es aber nötig, dass der Cursor ohne Beihilfe über den Bildschirm zu einem Button wandert und diesen drückt !
Daher meine Frage: Kann man z.B. mit der Win-API einem Mausclick simulieren ?

Danke im vorraus,

Joerg Bauer


Rolf Koch
Datum:18.07.01 17:39 Antwortenals Email verschicken (webmaster@rokosoft.de) 


Leider weis ich nicht mehr, woher ich die Definiton habe (also def @SetMouse(2) !"USER32","SetCursorPos" ist nicht von mir ;) ), aber meinste sowas:
declare ende%,x%,y%
def @SetMouse(2) !"USER32","SetCursorPos"
x%=100
y%=100
Cls 
print "ENDE TASTE ESCAPE"
whilenot equ(%scankey,27)

 if lt(x%,350)
   inc x%
   sleep 5
   @SetMouse(x%,100)
   locate 10,10
   print "Maus X",x%,"und Y100"
 elseif equ(x%,350)
   if neq(y%,350)
      inc y%
      sleep 5
      @SetMouse(x%,y%)
      locate 10,10
      print "Maus X",x%,"und Maus Y",y%
   elseif equ(y%,350)
      locate 10,10
      PRINT "ZIEL ERREICHT ;)           "
      sleep 2000
      end
   endif   
 endif

wend



Rolf Koch
Datum:18.07.01 18:31 Antwortenals Email verschicken (webmaster@rokosoft.de) 


So hab mich hingesetzt, und auch noch den Mausbutton zum Leben erweckt (wie von Geisterhand ;) ):
Viel Spaß - jetzt macht es mir sogar Spaß mit Message zu arbeiten.

declare ende%,x%,y%,button%
def @SetMouse(2) !"USER32","SetCursorPos"
x%=100
y%=100
Cls
print "ENDE TASTE ESCAPE"
Let Button%=@CREATE("BUTTON",%hwnd ,"BUTTON1",330 ,290 ,70 ,30)
whilenot equ(%scankey,27)
 if lt(x%,350)
   inc x%
   sleep 5
   @SetMouse(x%,100)
   locate 10,10
   print "Maus X",x%,"und Y100"
 elseif equ(x%,350)
   if neq(y%,350)
      inc y%
      sleep 5
      @SetMouse(x%,y%)
      locate 10,10
      print "Maus X",x%,"und Maus Y",y%
   elseif equ(y%,350)
      locate 10,10
      print "MAUS DRÜCKEN                   " 
      SendMessage (button%,513,0,0)	
      sleep 2000
      locate 10,10
      print "MAUS LOSLASSEN                 " 
      SendMessage (button%,514,0,0)	
      setfocus (%hwnd)
      sleep 2000
      end
   endif
 endif

wend



Rolf Koch
Datum: 19.07.01 16:04 Antwortenals Email verschicken (webmaster@rokosoft.de) 


Hi
hab mal Spaßhalber eine Vorlage einer Interaktivhilfe geschrieben - hat halt wirklich Spaß gemacht :) Kann man viel mit machen, wenn man sowas z.B. als *.prc beilegt und aus dem Programm aufruft.
http://home.t-online.de/home/rokosoft/interakt.prf



Frank Abbing
Datum:18.07.01 21:07 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo,

in meiner ProSpeedDLL existieren einige Mausfunktionen:

1) Setzen des Mauscursors an einen beliebigen Punkt.

2) Abfragen aller drei Mausbuttons, erkennt auch, ob Knöpfe gleichzeitig gedrückt werden.

3) Festsetzen des Mauscursors in einem beliebigen Rechteck. Da kommt er dann nicht mehr raus.

Ich hoffe das war dir hilfreich,

Frank
Meine Homepage


 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
eBay