Avatar billede tjacob Juniormester
21. marts 2003 - 10:05 Der er 5 kommentarer og
1 løsning

API genereret Mouse_Click Event

NB: Klikket skal virke globalt: -også uden for evt. forms.
-Og det skal helst virke i både 98, XP og 2000.

Jeg har flere gange haft behov for at kunne generere et museklik rent programmelt, og har nu forsøgt at lede lidt, men kan ikke rigtig finde noget.

Før i tiden var der MouseEvent og MouseEventEx i User32.dll, men de findes ikke mere.

Der må da findes metoder; Noget SendMessage eller lignende.

/tjacob
Avatar billede dk_akj Nybegynder
21. marts 2003 - 10:33 #1
Prøv at lave en form med 2 knapper og flg. kode

//akj

Private Declare Function SetCursorPos Lib "user32" _
(ByVal x As Long, ByVal y As Long) As Long

Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)



Private Sub Command1_Click()
MsgBox "hvem trykkede på mig ??"
End Sub

Private Sub Command2_Click()
SetCursorPos 50, 50
mouse_event 2, 0, 0, 0, 0
mouse_event 4, 0, 0, 0, 0
End Sub

Private Sub Form_Load()
Command1.Left = 100
Command1.Top = 100
Command1.Width = 1500
Command1.Height = 1000
Me.Left = 0
Me.Top = 0

Command2.Left = 2000
Command2.Top = 2000
Command2.Caption = "Tryk her"
Command1.Caption = "don't touch !!"


Me.Width = 5000
Me.Height = 5000

End Sub
Avatar billede tjacob Juniormester
21. marts 2003 - 10:44 #2
Det er vist noget sludder jeg skrev:  mouse_event virker godt nok på min XP.

Jeg havde tjekket User32.dll i dependency-walkeren, og funktionerne stod ikke i alfabetisk rækkefølge som jeg troede. Funktioner der begynder med lille kommer allersidst -efter de store bogstaver ;-).

Men MouseEventEx var der IKKE, og den skulle afløse mouse_event på NT platforme, så jeg er stadig interesseret i svar.

/tjacob
Avatar billede dk_akj Nybegynder
21. marts 2003 - 10:46 #3
ovenstående svar er testet og virker på W2K

//akj
Avatar billede tjacob Juniormester
21. marts 2003 - 10:46 #4
akj>> Jeg havde ikke set dit indlæg, da jeg postede mit.

Du har helt ret, og du skal nok få points.
Jeg vil dog gerne se om der ikke kommer mere.
Avatar billede dk_akj Nybegynder
21. marts 2003 - 10:48 #5
Det er bare helt iorden :-)
Blev også lidt forvirret da jeg læste dit indlæg 10:44:24 ;-)

//akj
Avatar billede tjacob Juniormester
21. marts 2003 - 10:55 #6
Det er skam rigtigt nok det jeg skrev 10:44:24.

Jeg have læst et eller andet sted, at disse funktioner ikke virkede mere, og åbnede så User32.dll for at tjekke.
Jeg bladrede ned til M: ingen Mouse_Event!!!

Det viser sig så, at fordi mouse_event skal staves med lille, så stod det til allersidst i dll'en.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester