#934 closed Bug (Fixed)
MouseGetCursor consumes left mouse clicks
| Reported by: | martin | Owned by: | J-Paul Mesnage |
|---|---|---|---|
| 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 , 17 years ago
| Milestone: | → 3.3.1.0 |
|---|---|
| Owner: | set to |
| Resolution: | → Fixed |
| Status: | new → closed |
comment:2 by , 16 years ago
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