How to hide mouse cursor.
March 4, 2008 3:03 PM Subscribe
Is there a free program that would allow me to have my cursor (mouse) disappear on system start up and/or after remaining motionless for a few seconds? I found one program, "cursor hider", but it is not free.
Too bad, because it is exactly what I want.
This is for a winxp system.
I'm building a system into another application and I don't want the cursor to be there, since the computer will be functioning autonomously and won't have a keyboard/mouse hooked to it.
I'm building a system into another application and I don't want the cursor to be there, since the computer will be functioning autonomously and won't have a keyboard/mouse hooked to it.
nomousy is free and you get the AutoHotkey source in the archive as well so you should be able to customize it quite easily.
posted by tomcooke at 3:37 PM on March 4, 2008
posted by tomcooke at 3:37 PM on March 4, 2008
tomcooke beat me to it. I was going to say this sounds like a job for AutoHotKey.
posted by jjb at 6:08 PM on March 4, 2008
posted by jjb at 6:08 PM on March 4, 2008
I've used a custom mouse icon that was transparent...worked for me.
posted by rlef98 at 6:12 PM on March 4, 2008
posted by rlef98 at 6:12 PM on March 4, 2008
Here's an AutoHotkey script that should do the trick (cribbed from the AHK forums). Save it as HideCursor.ahk, right-click it, choose Compile Script to turn it into EXE, which you can then run. It hides the cursor every second, in case some app manages to turn it back on.
#Persistent
#MaxThreads 1
#NoEnv
#NoTrayIcon
#SingleInstance force
#UseHook
Loop {
SystemCursor(0)
Sleep 1000
}
SystemCursor(OnOff=1) ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = others
{
static AndMask, XorMask, $, h_cursor
,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors
, b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; blank cursors
, h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; handles of default cursors
if (OnOff = "Init" or OnOff = "I" or $ = "") ; init when requested or at first call
{
$ = h ; active default cursors
VarSetCapacity( h_cursor,4444, 1 )
VarSetCapacity( AndMask, 32*4, 0xFF )
VarSetCapacity( XorMask, 32*4, 0 )
system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650
StringSplit c, system_cursors, `,
Loop %c0%
{
h_cursor := DllCall( "LoadCursor", "uint",0, "uint",c%A_Index% )
h%A_Index% := DllCall( "CopyImage", "uint",h_cursor, "uint",2, "int",0, "int",0, "uint",0 )
b%A_Index% := DllCall("CreateCursor","uint",0, "int",0, "int",0
, "int",32, "int",32, "uint",&AndMask, "uint",&XorMask )
}
}
if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T"))
$ = b ; use blank cursors
else
$ = h ; use the saved cursors
Loop %c0%
{
h_cursor := DllCall( "CopyImage", "uint",%$%%A_Index%, "uint",2, "int",0, "int",0, "uint",0 )
DllCall( "SetSystemCursor", "uint",h_cursor, "uint",c%A_Index% )
}
}
posted by kindall at 9:52 PM on March 4, 2008
#Persistent
#MaxThreads 1
#NoEnv
#NoTrayIcon
#SingleInstance force
#UseHook
Loop {
SystemCursor(0)
Sleep 1000
}
SystemCursor(OnOff=1) ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = others
{
static AndMask, XorMask, $, h_cursor
,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors
, b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; blank cursors
, h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; handles of default cursors
if (OnOff = "Init" or OnOff = "I" or $ = "") ; init when requested or at first call
{
$ = h ; active default cursors
VarSetCapacity( h_cursor,4444, 1 )
VarSetCapacity( AndMask, 32*4, 0xFF )
VarSetCapacity( XorMask, 32*4, 0 )
system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650
StringSplit c, system_cursors, `,
Loop %c0%
{
h_cursor := DllCall( "LoadCursor", "uint",0, "uint",c%A_Index% )
h%A_Index% := DllCall( "CopyImage", "uint",h_cursor, "uint",2, "int",0, "int",0, "uint",0 )
b%A_Index% := DllCall("CreateCursor","uint",0, "int",0, "int",0
, "int",32, "int",32, "uint",&AndMask, "uint",&XorMask )
}
}
if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T"))
$ = b ; use blank cursors
else
$ = h ; use the saved cursors
Loop %c0%
{
h_cursor := DllCall( "CopyImage", "uint",%$%%A_Index%, "uint",2, "int",0, "int",0, "uint",0 )
DllCall( "SetSystemCursor", "uint",h_cursor, "uint",c%A_Index% )
}
}
posted by kindall at 9:52 PM on March 4, 2008
« Older Help me find hose/tights for the larger - but not... | Moody Adolescent Girl Gets Attached to Poem Found... Newer »
This thread is closed to new comments.
posted by mhp at 3:25 PM on March 4, 2008