qwert Posted September 17, 2008 Posted September 17, 2008 I'm trying to build a script that -- only when it's briefly activated -- will intercept right mouse clicks that would normally be received and acted upon by a browser application. Here's what I'm using as the basis for my script:#include <ScreenCapture.au3> #include <Misc.au3> ProcessSetPriority(@AutoItPID, 4) Sleep(4000) ; delay to allow user to select proper browser window $dll = DllOpen("user32.dll") While 1 Sleep (10) If _IsPressed("01", $dll) Then MsgBox(0,"_IsPressed", "Left Pressed",2) EndIf If _IsPressed("02", $dll) Then MsgBox(0,"_IsPressed", "Right Pressed",2) EndIf If _IsPressed("23", $dll) Then MsgBox(0,"_IsPressed", "End Key Pressed") ExitLoop EndIf WEnd DllClose($dll) ExitAs shown by the screen shot below, the script receives notification of the click, but the click is also acted upon by the browser. How can I block transfer of that same click to the browser? I would only want this blocking to occur while my script is active.Thanks in advance for any helpP.S. I'm not certain of my terminology in describing what I'm trying to achieve, so if anyone has a suggestion for stating the problem in clearer terms, please chime in.
monoceres Posted September 17, 2008 Posted September 17, 2008 Hi!Here's an UDF that I think works that way:http://www.autoitscript.com/forum/index.php?showtopic=64738 Broken link? PM me and I'll send you the file!
rudi Posted September 17, 2008 Posted September 17, 2008 Hi. 1.) Welcome to the forum What about MouseClick("Left", 1) ? 2.) BTW: Your first post was somehow -- well -- amuzing >_< Regards, Rudi. Earth is flat, pigs can fly, and Nuclear Power is SAFE!
DaRam Posted September 17, 2008 Posted September 17, 2008 2.) BTW: Your first post was somehow -- well -- amuzing >_< Not to mention, provide a test case to enhance the "Community On Patrol" bot
qwert Posted September 17, 2008 Author Posted September 17, 2008 Here's an UDF that I think works that way: http://www.autoitscript.com/forum/index.php?showtopic=64738Thanks very much. I do think it will be able to provide the blocking I need. However, in trying to follow how the UDF works, the following script steps are a bit too advanced for me at this point: For $i = 1 To $aMouse_Events[0][0] If $aMouse_Events[$i][0] <> $iEvent Then $aTmp_Mouse_Events[0][0] += 1 ReDim $aTmp_Mouse_Events[$aTmp_Mouse_Events[0][0]+1][5] $aTmp_Mouse_Events[$aTmp_Mouse_Events[0][0]][0] = $aMouse_Events[$i][0] $aTmp_Mouse_Events[$aTmp_Mouse_Events[0][0]][1] = $aMouse_Events[$i][1] $aTmp_Mouse_Events[$aTmp_Mouse_Events[0][0]][2] = $aMouse_Events[$i][2] $aTmp_Mouse_Events[$aTmp_Mouse_Events[0][0]][3] = $aMouse_Events[$i][3] $aTmp_Mouse_Events[$aTmp_Mouse_Events[0][0]][4] = $aMouse_Events[$i][4] EndIf Next I would greatly appreciate it if someone could briefly describe what they are accomplishing. Thanks.
qwert Posted September 19, 2008 Author Posted September 19, 2008 In addition to the above question, I have encountered a problem in trying to utilize the suggested UDF._MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT, "MouseSecondaryUp_Process")My MouseSecondaryUp_Process function gets called properly by the SecondaryUp Event, however, the mouse up event is also passed along to the external application. How can I prevent that? If I've intercepted and processed the mouse click, I don't want the application to do it also.Thanks for any help.
qwert Posted September 20, 2008 Author Posted September 20, 2008 ... the mouse up event is also passed along to the external application. How can I prevent that?Anyone have a suggestion?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now