Published Thursday August 16, 2007
I really like the new Windows Vista mouse cursors, so much that I have switched all my computers, including the ones running Windows XP, to use them. They are awesome until you have to Remote Desktop to the computer, when, depending on your connection speed, the cursors can really slow down the mouse movement. This presented a challenge because not only did I not want to go through the control panel applet to change it back to the Windows Default scheme but also because changing cursors would be painstakingly slow due to the slow mouse movement. So, off I went to figure out how I could automate this.
I have not been able to find any good articles on the internet that explain how you can change cursors. This especially becomes a challenge if you have to change the cursors back to the “Windows Default” scheme, which is what I had to do. This article gives you an overview of how the cursors are organized and how you can go about applying cursors schemes.
Considering that I now use AutoHotkey for most of my shortcuts and automation, it made sense that this would be just another AHK script. Therefore, this article shows everything in the AHK syntax but don’t worry because it is not much different than most of the other languages.
There are two main steps that you have to do.
There are three main registry keys that come into play.
The cursor schemes contain the path to the cursors for the different cursor types as a comma delimited list. Below are the individual pieces.
These names are as they would appear in the
This is where the SystemParametersInfo call comes in. To try this out let’s go ahead and change
SPI_SETCURSORS := 0x57
result := DllCall("SystemParametersInfo", "UInt", SPI_SETCURSORS, "UInt", 0, "UInt", 0, "UInt", '0')
MsgBox Error Level: %ErrorLevel% `nLast error: %A_LastError%`nresult: %result%
If everything worked then you should see the 3D animating cursor as your default arrow and the following message box.

Now the tricky part. If you look at
What to do now? Don’t worry. All you have to do is set the different cursor types to empty string and then make the
There you have it!
You also can download the complete AutoHotkey script that I wrote.
(about 1 year, 3 months later) Reply
So, I took your script and threw it on my quick launch toolbar. Now, when RDP breaks my mouse, I just click the 'fixer' and voila! back to normal. Thanks again!