Mauszeiger systemweit ändern bzw. verändern

  • Hallo,

    MouseGetCursor - Gibt die ID des aktuellen Mauscursors zurück.
    MouseSetCursor - scheint es (bisher) nicht zugeben - richtig? Oder gibt es dafür eine UDF?

    Der Mauszeiger unter Windows 8/64 ändert sich, je nachdem, über welchem Programm er sich befindet.

    (1)

    Wie kann man unter Windows 8/64 am einfachsten flink und unsichtbar (ohne Aufruf des Fensters "Eigenschaften von Maus") das gepeicherte Mausprofil durch ein anderes gespeichertes Schema ersetzen?

    (2)

    Wie kann ich einen Mauszeiger global für Windows mit AutoIt einstellen, der sich nicht in Abhängigkeit der Fenster ändert, sondern in Abhängigkeit zum Beispiel von der Uhrzeit. Jede Stunde (zum Test alle 10 Sekunden) soll ein fest definierter Cursor angezeigt werden. Das ist ein Beispiel für Werte, die das AutoIt-Script auswertet. Es kann auch eine Pixelfarbe sein und vieles mehr.

    Kein anderes Windows-Programm, außer dass AutoIt Skript und entsprechend der dort definierten Regeln, soll den Mauszeiger ändern – egal, über welchem Fenster sich der Mauszeiger befindet. Natürlich nur, solange das AutoIt-Script läuft. Wenn das AutoIt-Script beendet wird, wird wieder der Standard-Cursor angezeigt.

    (3)

    Eine Notlösung wäre folgendes Thema (URL):

    Grafik an Mauszeiger anhängen..

    Gibt es noch einen einfacheren Weg, eine Grafik an den sich je nach Fenster und Control ändernden Windows-System-Mauszeiger anzuhängen?

    (Es geht nicht um eine AutoIt GUI, sondern um die komplette Windows-Oberfläche.)

    Danke

  • Vorab eine wichtige Info: AutoIt handhabt die Werte und Nummerierungen der CursorIDs anders, als Windows!

    Siehe Bild - ein Ausschnitt aus der AutoIt-Hilfe... und du suchst dann wohl die Funktion _WinAPI_SetSystemCursor()

    Das Beispiel in der AutoIt-Hilfe zu dieser Funktion zeigt den geänderten Cursor nur an, wenn der normale Mauszeiger aktiv ist, aber nicht, wenn z. B. ein Edit-Control (Text-Cursor) aktiv ist.

    So geht es mit allen IDs...


    AutoIt-Suche - Cursor.png

    Einmal editiert, zuletzt von Bitnugger (6. Juli 2016 um 06:29)

  • Das Beispiel in der AutoIt-Hilfe zu dieser Funktion zeigt den geänderten Cursor nur an, wenn der normale Mauszeiger aktiv ist, aber nicht, wenn z. B. ein Edit-Control (Text-Cursor) aktiv ist.


    @Bitnugger - vielen Dank - das ist der richtige Weg.

    Das Skript funktioniert leider noch nicht bei edit-Feldern.

    Wenn ich mit der Maus zum Beispiel über Excel fahre, ändert sich der Cursor in alle möglichen Formen wie zum Beispiel „Standard“, Einführung Zeichen auf Pluszeichen“ etc.

    Kann das Skript noch so angepasst werden, dass es den Cursor wirklich dauerhaft ändert, auch und gerade bei Edit, Word und Excel?

  • Kann das Skript noch so angepasst werden, dass es den Cursor wirklich dauerhaft ändert, auch und gerade bei Edit, Word und Excel?

    MS weiß ja sicher am besten wie man Mauscursor verändert, also wenden sie es in ihren Anwendungen auch an. Hier gilt wer zu letzt ändert hat Recht.

    Und dein Vorhaben ist für mich schon ein Spaßvirus um den armen User zu verwirren.

  • Das Script sollte dir nur aufzeigen, wie man es generell macht - ich wollte damit keine Komplettlösung abliefern. ;)

    Im Anhang habe ich dir ein Archiv hochgeladen - dass ist das Cursor-Scheme, dass ich selbst derzeit benutze.

    Um dieses Cursor-Scheme dauerhaft verwenden zu können, musst du lediglich die im Archiv enthaltene Setup.inf via Kontextmenü (Rechtsklick) installieren.

    Nach der Installation kannst du das neue Cursor-Scheme in der Systemsteuerung unter dem Namen "Chrome Glass" auswählen und bei Bedarf diese Einstellung dauerhaft speichern.

    Wenn du das Windows-Theme änderst, setzt Windows wieder das Default-Cursor-Scheme, falls in diesem Theme das neue Cursor-Scheme noch nicht gespeichert wurde.

    Setup_Inf.pngEigenschaften_von_Maus.png