Search the Community

Showing results for tags 'mouse'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Announcements and Site News
    • Chat
    • Administration
  • AutoIt v3
    • AutoIt Help and Support
    • AutoIt Technical Discussion
    • AutoIt Example Scripts
  • Scripting and Development
    • Developer General Discussion
    • Language Specific Discussion
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office


  • AutoIt Team
    • Beta
    • MVP
  • AutoIt
    • Automation
    • Databases and web connections
    • Data compression
    • Encryption and hash
    • Games
    • GUI Additions
    • Hardware
    • Information gathering
    • Internet protocol suite
    • Maths
    • Media
    • PDF
    • Security
    • Social Media and other Website API
    • Windows
  • Scripting and Development
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office


  • Forum
  • AutoIt


  • Community Calendar

Found 30 results

  1. This UDF allows to set an events handler for Mouse device. The beginning... I searched for a way to disable the Mouse Primary click, and be able to call some function when the click event is received... Big thanks to amel27 for this one, i only organized the whole stuff to UDF style. Example: #include <GUIConstantsEx.au3> #include "MouseOnEvent.au3" HotKeySet("{ESC}", "_Quit") _Example_Intro() _Example_Limit_Window() Func _Example_Intro() MsgBox(64, "Attention!", "Let's set event function for mouse wheel *scrolling* up and down", 5) ;Set event function for mouse wheel *scrolling* up/down and primary button *down* action (call our function when the events recieved) _MouseSetOnEvent($MOUSE_WHEELSCROLLDOWN_EVENT, "_MouseWheel_Events") _MouseSetOnEvent($MOUSE_WHEELSCROLLUP_EVENT, "_MouseWheel_Events") _MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "_MousePrimaryDown_Event") Sleep(3000) ;UnSet the events _MouseSetOnEvent($MOUSE_WHEELSCROLLDOWN_EVENT) _MouseSetOnEvent($MOUSE_WHEELSCROLLUP_EVENT) _MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT) ToolTip("") MsgBox(64, "Attention!", "Now let's disable Secondary mouse button up action, and call our event function.", 5) _MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT, "_MouseSecondaryUp_Event", 0, 1) Sleep(5000) _MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT) ToolTip("") EndFunc Func _Example_Limit_Window() Local $hGUI = GUICreate("MouseOnEvent UDF Example - Restrict events on specific window") GUICtrlCreateLabel("Try to click on that specific GUI window", 40, 40, 300, 30) GUICtrlSetFont(-1, 12, 800) GUICtrlCreateLabel("Press <ESC> to exit", 10, 10) GUISetState() _MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "_MousePrimaryDown_Event", $hGUI) ;A little(?) bugie when you mix different events :( ;_MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT, "_MouseSecondaryUp_Event", $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $GUI_EVENT_PRIMARYDOWN MsgBox(0, "", "Should not be shown ;)") EndSwitch WEnd _MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT) ;_MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT) EndFunc Func _MouseWheel_Events($iEvent) Switch $iEvent Case $MOUSE_WHEELSCROLLDOWN_EVENT ToolTip("Wheel Mouse Button (scrolling) DOWN Blocked") Case $MOUSE_WHEELSCROLLUP_EVENT ToolTip("Wheel Mouse Button (scrolling) UP Blocked") EndSwitch Return $MOE_BLOCKDEFPROC ;Block EndFunc Func _MousePrimaryDown_Event() ToolTip("Primary Mouse Button Down Blocked") Return $MOE_BLOCKDEFPROC ;Block EndFunc Func _MouseSecondaryUp_Event() ToolTip("Secondary Mouse Button Up Blocked") EndFunc Func _Quit() Exit EndFunc Available Events Constants: ------------------------------------------ CHANGELOG: Download: Attached: - v2.3 Old version: Previous downloads: 146 + 200 + 804
  2. I have a situation where the desktop is designed in java swings. The nodes JTree is not allowing me to do checkbox selection using "spacebar". I am able to navigate through the nodes using up, down arrow and a tab. When I reach to the desire node selection, mouse left click is not working due a flaw a JTree core. However since it is selected, if mouse cursor auto moved to the position of the selection and send a "click" then it should be solved. Any ideas much appreciated. the problem with having fixed coordinates are the main windows is divided to 2panels where right panel containing this JTree can be expanded or shrink-ed.
  3. Hello, I have a Logitech MX500 mouse, this has 7 buttons plus a wheel. I am trying to figure out how to detect clicks on three of the buttons on this mouse but have been unable to do so. I am not running any Logitech software just the standard Windows 7 driver. The buttons are all working fine but when I try to figure out which button was clicked unable to detect three of the buttons. Using this code snippet I am able to see all the button presses with the exception of these three marked by '?'. Is there some alternate method for detecting button clicks? I have been searching for example but have yet to find anything. Thanks... #include <Misc.au3> Dim $a While 1 For $a = 1 To 100 If _IsPressed($a) Then ConsoleWrite("you pressed " & $a & @CRLF) Next WEnd
  4. In my work place they blocked the application movemouse. so y decided to do one by myself , to cheat the system. I have used some peaces of code from another scripts I have, and also I have found in this forum Hope this helps $version="0.2" #include <Misc.au3> If _Singleton(@ScriptName, 1) = 0 Then ; allow only one instance MsgBox(0, "Warning", "An occurence of " & @ScriptName & " is already running") Exit EndIf #region tray icon #NoTrayIcon Opt("TrayIconHide", 0) Opt("TrayMenuMode", 1) TraySetToolTip("Ratoner "& $version) Local $exititem = TrayCreateItem("Exit") TraySetState(1) ; Show the tray menu. #endregion #region variables $BlockScreensaver=1 $flagMouse=1 $MouseNotMovedCounter=0 $posMouseMovedX=0 $posMouseMovedY=0 $Counter= 0 #endregion #region main Local $hTimer = TimerInit() while 1 $Counter=$Counter+1 if $Counter>1000 then CheckifMouseMove() if $MouseNotMovedCounter>2 then moveMouse() $Counter= 0 endif Switch TrayGetMsg() Case $exititem exit EndSwitch sleep(50) wend #endregion #region functions func CheckifMouseMove() ;~ ConsoleWrite("+CheckifMouseMove()" & @crlf) $posMouseMoved = MouseGetPos() if $posMouseMovedX<>$posMouseMoved[0]or $posMouseMovedY <> $posMouseMoved[1] then $posMouseMovedX=$posMouseMoved[0] $posMouseMovedY=$posMouseMoved[1] $MouseNotMovedCounter=0 ;~ ConsoleWrite('>$MouseNotMovedCounter = ' & $MouseNotMovedCounter & @crlf ) Else ;$MouseMoved=0 $MouseNotMovedCounter=$MouseNotMovedCounter+1 ;~ ConsoleWrite('--$MouseNotMovedCounter = ' & $MouseNotMovedCounter & @crlf ) endif EndFunc func moveMouse() ;~ ConsoleWrite("+moveMouse" & @crlf) Local $posMouse = MouseGetPos() $flagMouse=$flagMouse*-1 Local $new_y = $posMouse[1] + $flagMouse ; + (10*$flagMouse) MouseMove($posMouse[0],$new_y) $MouseNotMovedCounter=0 ;~ ConsoleWrite("+mouseMove $MouseNotMovedCounter" & $MouseNotMovedCounter & @crlf) endfunc #endregion
  5. Hi guys! I'm really new to AutoIT, and I have little experience with scripting or any sort of programming. But I'm trying to learn! Right now, what I'm trying to do is make a quick script that repeats a few functions while a key is held down. I want to see if I can make a quick-burst script that might work in Fallout 4 with machine guns #include <Misc.au3> $dll = DllOpen("user32.dll") While 1 Sleep(100) If _IsPressed("01", $dll) Then MouseDown("left") Sleep(320) MouseUp("left") Sleep(25) EndIf WEnd DllClose($dll) Right now, when I hold down my left mouse button, it just repeats the script once - then I have to release and hold again to enable it again. Is it possible to to start it from the top and basically just repeats itself while I'm holding down my mouse button? In advance, thank you!
  6. Hello, I want that when mouse cursor is in GUI, cursor would hide, and when cursor is outside GUI it would appear again. (Sorry for my bad English)
  7. Searching inside the forum, I don't succeed to get any explanation about a strange (for me !) phenomena: Using AutoIt, I have coded a "cortex of neurons Simulator" for which I handle several neurons activity (Action Potential and Postsynaptic Potential) which take a long time, about 20 ms per neuron to be processed. This is why I need a global loop running about 1s for a global cortex of 50 neurons. But when I move the mouse (in any direction, like rotating above the GUI) the speed of the loop increase significantly : around x8 times more ... ! This happens only if the GUI has the focus. I did a check with the "Windows Task Manager" where I can see the CPU usage changing every time the mouse is moving (growing from 3% to 15%). I believe to remember some lecture about the influence of the user events regarding the "Application" capability to anticipate user actions by changing it's rate of pooling events, but I'm not sure it was in an AutoIt forum, or maybe it was in an other "developer forum" (like "Code Project", "Stackoverflow" , or ...? Could somebody help me to understand this behaviour ? If possible, is there a programmatic method to manage the speed of a simple "For, Next" loop ? I try to change the Application priority (setting to level 4 with "ProcessSetPriority"), but this seems not very efficient .... Thanks, Alain. FYI: I'm using : Autoit Windows 7 Home Premium Service Pack 1 Computer ASUS N56V Screen resolution: 1920x1080 (recommended) Theme :Windows Classic
  8. Hi everyone Can someone guide me to the right direction with this question? I need a simple example for getting the mouse coordinates and other input events (using api calls, not mousegetpos) on a console window (return the x and y cell) UDF link where I get the code from: A c++ example that does exactly what i'm looking for: The code in the attachments helps a lot but I don't quite understand it, what code of it is necessary and is there a way more 'simple/less code' way to do this (like the c++ example) Thanks, TheAutomator test.au3
  9. Hi I was searching for a while now and didn't find anything regarding this: Is there a function that returns the "number" of the monitor where the mouse is currently on screen? The same number that appears when you open windows-resolution and click on "identify" (or something). I want to trigger an event when the number changes. I wrote something that recognizes leaving the main monitor. But I couldn't get any further than that (maybe with _WinAPI_EnumDisplayMonitors/Devices/Settings ?) and I wouldn't catch an event, if someone has 3 monitors (aligned 1--2--3 with 1 being main monitor) and changes from 2 to 3. Here is my code: The GUI was just for testing. Maybe you can give me some hints :)?
  10. Hi All, I'm trying to run a script to fire when a pixel at a certain location on the screen changes to a particular colour, however auinfo is unable to measure the colour where my cursor is due to my high resolution - 2560x1440 on a 13.3" laptop. Does anyone have a workaround or a fix for this? If I move my mouse to the bottom-right corner of the screen auinfo reports the mouse position as about 1280x720, 1/2 my actual resolution. Thanks!
  11. Hello to all autoit coders, I'm not a pro dev but I've recently made a few automatisation programs. I met a program SplashTop which allows user to control their PC from android phone and play games through it (e.g. Skyrim or any other game with first person camera). The program is perfect but it's totally missing one thing - mouse move. It only allows mouse click&drag as user moves their finger on the touch screen.I was thinking about using physical phone keyboard <>^(and down) to mouse move but not many ppl have got qwerty phones such motorola droid 4 or similar and I can transfer <>^ into mousemove. The question is if any of you know a way to disable mouse click&drag and convert it into mousemove. Thanks for responses, I'm sorry but I can't make paragraphs on mobile version
  12. This script is intended to allow the user to move their mouse to the edge of their screen and have the mouse appear to the opposite end. When the user drags the mouse to the edge of a monitor there is a 300 millisecond delay before the mouse will wrap. This will give the user some time to change their mind and give some time for the taskbar to open if the user has it set to autohide. When the user drags a window or selection rectangle to the edge of a monitor the user will have 700 milliseconds to take advantage of the Windows 7 Snap feature. If the user has not moved the mouse from the edge within that time then the window will move to the opposite edge. When the user holds down the mouse wheel the wrap effect is disabled. Tested on Windows 7 x64 with two monitors placed horizontally. Updates: - Source works on latest AutoIt beta. Includes an exe. downloads: 197
  13. Dear all, I'm creating this program where the goal is to automate some mouse -click and dragging on an external application. Now the problem is, this external application is blocking every automate mouse moves, clicks or anything related to using the mouse. So I figured autoit uses postmessage and user32.dll to move the mouse and that this application blocks these attempts. Now I'm wondering if there's a different way to move the mouse so it'll go undetected by this external app. Any other suggestions are welcome to. Thnx in advance
  14. Hi Here is a UDF which has the much requested hotkeys for mouse clicks. Autoit's hotkeyset doesn't support mouse clicks. one of the main differences with AHK (i think). ; This UDF extends AutoIT HotKeySet by adding the much requested Mouse Button Clicks ; HotKeySet (autoIT) only does KEYBOARD ; HotKeySetEx Does both KEYBOARD and MOUSE! simple interface HotKeySetEx("{RCLICK}", "myfun") ; Right Click mouse hot key HotKeySetEx("{RDCLICK}", "myfun") ; Right double click mouse hot key HotKeySetEx("{F1}", "myfun") ; normal hot key ; new function call replaces @HotKeyPressed ; getLastHotKey() = eg {RCLICK} or {F1} See MouseTrapEvent for supported events. ; single clicks ; LClick - left button click (Primary) ; MClick - middle button click (Wheel click) ; RClick - right button click (Secondary) ; XClick1 - Xtra button 1 click (usually 'back navigaton') ; XClick2 - Xtra button 2 click (usually 'forward navigaton') ; double clicks ; LDClick - left button (Primary) ; MDClick - middle button (Wheel click) ; RDClick - right button (Secondary) ; XDClick1 - Xtra button 1 (usually 'back navigaton') ; XDClick2 - Xtra button 2 (usually 'forward navigaton') ; psuedo double clicks ('chords') - ; XClick12 - Xtra button 1&2 pressed at the same time. ; ; OTHER EVENTS you'll have to work out yourself eg mouse wheel scroll - see code. This UDF is based on MouseTrapEvent which is based on MouseSetEvent. New events for scroll and drag could be added see MouseTrapEvent code. enjoy Version two fixed left and middle double, click. Note there is a bug if you set a double click, you should set a single click as it get blocked (my apols).
  15. Hi These example apps can be used to lock the keyboard and mouse (useful for test automation). I've also included a Toddler/Child Lock app which lets them press some keys A-Z and 0-9 and move the mouse and plays a sound. Its uses BlockInputEx UDF Most example ALT+ESC to end enjoy
  16. I have a basic script that takes the mouse input on a button like so: Local $msg, $Button, $GUIhandle, $response = "" $GUIhandle = GUICreate("example", 680, 575) $Button = GUICtrlCreateButton("example", 260, 5, 30) While 1 $msg = GUIGetMsg() If $msg = $Button Then ExampleFunct() ExitLoop EndIf If $response <> "" Then msgbox(0, "", $response) EndIf Wend Func ExampleFunct() $response = "respond" EndFunc Yet, If I kill this program and start it up after hitting the button with the left click 2-3 times, I will start it again and it will click the button on its own (like its buffered).
  17. So i borrowed this code and made some adjustments to fit my needs. Basically i am wanting to mimic the main windows cursor and create a duplicate cursor at a different location of the monitor. So on code line 18, "ToolTip("^", $mouse[0] + GUICtrlRead($xDistanceInput) - 100, $mouse[1] + GUICtrlRead($yDistanceInput))" i want that to be a transparent PNG image. That image will be a cursor image #include <Misc.au3> HotKeySet("{ESC}", "_exit") $mouse = MouseGetPos() $xDistanceInput = GUICtrlCreateInput("", 128, 0, 49, 21) $yDistanceInput = GUICtrlCreateInput("", 128, 24, 49, 21) _secondMouse() While 1 Sleep(10) WEnd Func _secondMouse() While 1 Sleep(5) $mouse = MouseGetPos() ToolTip("^", $mouse[0] + GUICtrlRead($xDistanceInput) - 100, $mouse[1] + GUICtrlRead($yDistanceInput)) If _IsPressed("01") Then _mouseClick() If _IsPressed("78") Then ;HotKeySet{F9} ToolTip("") ExitLoop EndIf WEnd EndFunc ;==>_secondMouse Func _mouseClick() ToolTip("") MouseUp("left") MouseMove($mouse[0] + GUICtrlRead($xDistanceInput), $mouse[1] + GUICtrlRead($yDistanceInput), 0) MouseDown("left") Sleep(50) MouseUp("left") MouseMove($mouse[0], $mouse[1], 0) ToolTip("^", $mouse[0] + GUICtrlRead($xDistanceInput), $mouse[1] + GUICtrlRead($yDistanceInput)) EndFunc ;==>_mouseClick Func _exit() Exit EndFunc ;==>_exit
  18. How to set a value to the "Join the discussion…" textarea and then simulate a left mouse click of the "Post as {USERNAME}" button on the Disqus thread in my blog? Here is the URL of my blog: If my blog got slow, just wait a while before contributing to this topic! But before you can see the "Post as {USERNAME}" button on the comment system in that blog, you must first manually sign in with Disqus!
  19. I'm having a hard time trying to set a value in a specific JavaScript textarea... And I think, this is the right time.. Is it possible to set a value in the "Join the discussion…" textarea and simulate the mouse click of the "Post as {USERNAME}" button of the web page that have added a Disqus forum? If they are possible then: How can I set a value in the "Join the discussion…" textarea? And how to simulate the mouse click of the "Post as {USERNAME}" button? Note: Before you can see the "Post as {USERNAME}" button, you must be sign in with Disqus first! This is the (NULL) previous test work that I've done: #include <IE.au3> $oIE = _IECreate("", 0, 1, 1, 0) Sleep(10000) $disqus_thread = $oIE.document.getElementById("disqus_thread") $textarea = $disqus_thread.getElementsByClassName("textarea").innerHTML = "Example Message" _IELinkClickByText($oIE, "Post as") Here is my test blog that have a Disqus thread: Here is the other web page that have it: Here is the other one: And also make sure that the script will also work in any page that have a Disqus thread..
  20. Hi people, I hope you can help. I have a GUI with a scrollable child GUI containing an image. I am trying to get the x,y position of the mouse relative to the image. I'm using opt ('MouseCoordMode', 2) MouseGetPos() and GUIGetCursorInfo($Child_GUI) both return the position of the mouse on the window. So unless there is another command I have overlooked ??? !! The alternate way is if I knew the current top and left of the image that is actually visible. From this it would be simple to calculate the image (x,y) that the mouse is over. I have used #include "GUIScrollbars_Ex.au3" for the scrollbars. Had hoped the values I need would be lurking in that code but if they are I can't see them. I suspect I am missing the point somewhere (again) All help greatly appreciated. Bob
  21. Could you please show me or refer me to the documents how to do these things: Remap the {LEFT CLICK} to letter A. Remap the {RIGHT CLICK} to letter B. Remap the {MIDDLE CLICK} to letter C. Remap every single {SCROLL UP} to number 1. Remap every single {SCROLL DOWN} to number 2. It looks like it's hard to remap the mouse' elements..
  22. Hi all! Simple question: Why is the mouse click not detected on the Pic control, event WITH the SS_NOTIFY style, while it's detected on free parts of the gui??? Thanks! #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= Global $Form1 = GUICreate("Form1", 386, 218) Global $Pic1 = GUICtrlCreatePic("", 8, 8, 184, 200, BitOR($GUI_SS_DEFAULT_PIC,$WS_BORDER,$SS_NOTIFY)) GUIRegisterMsg($WM_LBUTTONDOWN, "WM_LBUTTONDOWN") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func WM_LBUTTONDOWN($hWnd, $iMsg, $iwParam, $ilParam) $iX = BitAND($ilParam, 0xFFFF) - 160 $iY = BitShift($ilParam, 16) - 8 ConsoleWrite($iX & "," & $iY & @CRLF) EndFunc
  23. I'm working on a little monitoring script for my website, but I need to test the save function a few times as it has been tending to glitch out a little. I was thinking about AutoIt triggering "save()" every so often so I could meanwhile continue coding on other parts of the website. Of course, I could just move the mouse pointer and then do "mouseClick(left)", but as I would like this to work on my laptop too instead of modifying it, it'd be nice if AutoIt could trigger "save()" which is an onClick event. I'm not sure at all how I'd do this though :L
  24. Hello, I want to share with you all something that I have just found recently and now it becomes my everyday companion in working with my computer. First, some introductions about StrokesPlus. Basically, this lightweight, free and portable program is a mouse gesture and hotkey management, so it can provide users with their own ways to interact with any applications. StrokesPlus already has a built-in Lua scripting and able to call external .dll with that alone S+ has became the most flexible mouse gesture and hotkey management. However, Lua scripting is not as convenient as AutoIt that we love when dealing with complex functions. So combined with AutoIt, StrokesPlus becomes one of the best apps to increase our productivity. Example: Hold Right mouse button while scrolling up to increase volume. There is a program that I know that could do this, however with that program it means the gesture (Right mouse button + wheel) is already taken for volume only. With StrokesPlus users could determine the gesture for which window, controls, and even parts of the screen. For example, upper left part of the screen for volume, upper center for screen brightness, etc. Look at the pictures in below link to know what I mean: I'm sure advanced users could find other creative ways to work with StrokesPlus. I think that's enough about the introductions. Now to have a communication between StrokesPlus and AutoIt, one way is by using sendMessage from StrokesPlus to AutoIt. It's very easy. First we determine a gesture to test, then set it for global, or app specific, or window title or win class specific. Then in the Lua script: acSendMessage(acFindWindowByTitleRegex("GetTheGesture"), 273, 1, 1)GetTheGesture = title of our AutoIt window that will received the message from StrokesPlus 273 = WM_COMMAND 1 = wParam 1 = the lParam Then in the AutoIt script: GUICreate("GetTheGesture") Global Const $WM_COMMAND = 0x0111 GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND") While 1 Sleep(100) WEnd Func MY_WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) Local $Param1 = Dec(StringTrimLeft ($wParam, 2 ));LoWord Local $Param2 = Dec(StringTrimLeft ($lParam, 2 )) ConsoleWrite(" "&$Param1&"_"&$Param2&" ") End Func Now, each time we fire the gesture that we set to do sendMessage, the AutoIt script could receive it and start doing the works. To make it more flexible, we could make the AutoIt script to get the window's control of where we do the gesture, instead sending the number for the app, send gsx, gsy from StrokesPlus. gsx, gsy represent the initial mouse position when we started the gesture. It depends of the users how they want to use it. This is one way that I know how to make connection, I believe there are other ways. I can't believe I just recently know about this wonderful program. So, that's why I want to give you all some introductions. I'm sure many have heard about StrokeIt, however there has been no further release after 2010. While StrokesPlus is continously being developed. So, if anyone has any ideas or suggestions related, feel free to contact the author. The author would be very happy to hear it from you as he wants to create the most flexible but robust mouse gesture and hotkey management app. Thank you for reading.
  25. Is it possible to show different menus for left click and right on tray icon simultaneously, if yes, please tell how, hoping for a reply soon