Opened on Apr 27, 2009 at 9:11:36 PM
Closed on Apr 28, 2009 at 2:49:16 PM
Last modified on Dec 28, 2009 at 11:36:12 PM
#934 closed Bug (Fixed)
MouseGetCursor consumes left mouse clicks
| Reported by: | martin | Owned by: | Jpm |
|---|---|---|---|
| Milestone: | 3.3.1.0 | Component: | AutoIt |
| Version: | 3.3.0.0 | Severity: | None |
| Keywords: | MouseGetCursor | Cc: |
Description
if a script continually calls MouseGetCursor() then double clicking in other applications can be disabled.
This thread http://www.autoitscript.com/forum/index.php?showtopic=42268&hl=problem+MouseGetCursor has three reports of the problem, and this example demonstrates. While the script is running double clicking on a desktop shortcut is liable to fail.
$g = GUICreate("check mousegetcursor")
GUISetState()
while GUIGetMsg()<> -3
MouseGetCursor()
sleep(30)
Wend
Attachments (0)
Change History (2)
comment:1 by , on Apr 28, 2009 at 2:49:16 PM
| Milestone: | → 3.3.1.0 |
|---|---|
| Owner: | set to |
| Resolution: | → Fixed |
| Status: | new → closed |
comment:2 by , on Dec 28, 2009 at 11:36:12 PM
Sorry - still occurs when using autoIt COM control - I downloaded 3.3.2.0.
I went ahead and made my own COM .dll using VBExpress2008 (had to register it using .NET regasm.exe and gacutil.exe to make it COM visible). And it works *great* with no double click cancelling - but it doesn't return the same set of numbers you have (e.g. Arrow returns 65553).
Please see if the following Class code helps you to make the AutoIt one work.
Public Class cursorData
Public Declare Function GetCursorInfo Lib "user32.dll" (ByRef pc As CURSORINFO) As Integer
Structure CURSORINFO
Dim cbsize As Integer
Dim flags As Integer
Dim hCursor As Integer
Dim p As PointAPI
End Structure
Structure PointAPI
Dim X As Integer
Dim Y As Integer
End Structure
Public Function cursorType()
Dim ff As New CURSORINFO
ff.cbsize = System.Runtime.InteropServices.Marshal.SizeOf(GetType(CURSORINFO))
GetCursorInfo(ff)
cursorType = ff.hCursor
End Function
End Class

Fixed in version: 3.3.1.0