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.
posted by Infernarl to Computers & Internet (5 answers total)
Not an elegant solution, perhaps, but maybe a custom mouse icon?
posted by mhp at 3:25 PM on March 4, 2008

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

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

I've used a custom mouse icon that was transparent...worked for me.
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.

#MaxThreads 1
#SingleInstance force

Loop {
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
$ = 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.