Wenn Sie das Standard-Maus-Cursor Thema ändern:
Sie können es nur in der Registrierung ändern:
Es gibt drei Hauptregistrierungsschlüssel, die ins Spiel kommen, .
der Registrierungsschlüssel HKEY_CURRENT_USER \ Control Panel \ Cursors enthält die aktiven Benutzer Cursor
1a) Die Werte unterhalb dieser die verschiedenen Arten von Cursorn
1b) Die Regelung Quelle gibt den Typ der Cursor-Schema sind das wird gerade verwendet.
Die unterschiedlichen Werte sind:
"0" - Windows-Standard
"1" - Benutzer Scheme
"2" - System Scheme
Der Registrierungsschlüssel HKEY_CURRENT_USER \ Control Panel \ Cursors enthält die benutzerdefinierten Cursorschemata (dh Scheme Source = 1)
Der Registrierungsschlüssel HKEY_LOCAL_MACHINE \ SOFTWA RE \ Microsoft \ Windows \ CurrentVersion \ Systemsteuerung \ Schemas enthält die Systemcursorschemas (d. H. Scheme Source = 2)
Wenn Sie bereits verändert den Pfad zu einer der Cursor-Typ in HKCU \ Control Panel \ Cursors und erkannte, dass es nichts zu tun hat. Sie haben Recht, nur das Aktualisieren eines Schlüssels - zum Beispiel HKCU \ Control Panel \ Cursors \ Arrow - reicht nicht aus. Sie müssen Windows sagen, dass der neue Cursor geladen werden soll.
Hier kommt der SystemParametersInfo Aufruf herein. Um dies auszuprobieren, gehen wir weiter und ändern HKCU \ Control Panel \ Cursors \ Arrow zu C: \ WINDOWS \ Cursors \ appstar3.ani (vorausgesetzt, Sie haben dieses Symbol) und dann Rufen Sie SystemParametersInfo auf.
In AutoHotKey Drehbuch:
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%
zu C# übersetzt:
[DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]
public static extern bool SystemParametersInfo(uint uiAction, uint uiParam, uint pvParam, uint fWinIni);
const int SPI_SETCURSORS = 0x0057;
const int SPIF_UPDATEINIFILE = 0x01;
const int SPIF_SENDCHANGE = 0x02;
SystemParametersInfo(SPI_SETCURSORS, 0, 0, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
zum Standard Ändern der Windows Cursor
Jetzt kommt der schwierige Teil. Wenn Sie HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Systemsteuerung \ Schemas betrachten, werden Sie bemerken, dass "Windows Default" als ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, zu tatsächlichen Cursorn!
Was jetzt zu tun? Mach dir keine Sorgen. Alles, was Sie tun müssen, ist, die verschiedenen Cursortypen auf eine leere Zeichenfolge zu setzen und dann den Aufruf von SystemParametersInfo wie gewohnt durchzuführen. Tatsächlich können Sie jeden beliebigen Cursortyp in einem beliebigen Schema auf eine leere Zeichenfolge setzen, und Windows wird standardmäßig auf den entsprechenden Wert im Schema "Windows Default" festgelegt.
REF:
https://thebitguru.com/articles/programmatically-changing-windows-mouse-cursors/3
https://social.msdn.microsoft.com/Forums/vstudio/en-US/977e2f40-3222-4e13-90ea-4e8d0cdf289c/faq-item-how-to-change-the-systems-cursor-using-visual-cnet?forum=csharpgeneral
Ich habe versucht, den Wert zu ändern, aber nichts passiert, es ist immer noch der Standardcursor –
Siehe Update - Sie müssen SystemParametersInfo aufrufen –
Ich habe einige Fehler hier: http://i.imgur.com/Agns2vV.png. Das pvParam hat keinen Nullwert akzeptiert. Ich versuche, pvParam Wert auf "0" zu ändern, und es funktioniert gut. Ich danke dir sehr! –