Gibt es einen Befehl, womit man den Mauszeiger ändern kann? Oder muss man es über die Registry machen? Wenn ja wie? In der Hilfe hab ich nichts gefunden.
Mauszeiger ändern
-
- [ gelöst ]
-
Ineluki -
22. April 2010 um 17:16 -
Geschlossen -
Erledigt
-
-
meinst du allgemein, oder nur für dein GUI?
[autoit]
Zweiteres geht mitGUISetCursor()
[/autoit] -
Meinst du deinen Cursor?
Wenn du ihn dauerhaft ändern willst, dann mach das über die Systemsteuerungen,
und wenn du ihn nur im Skript ändern willst, dann benutz GDI+, blende den Mauszeiger aus, und setze an die MouseGetPos() Koordinaten den Zeiger, den du haben willst.
//Edit: SEuBo: Oh, den Befehl kenn ich gar nicht -
Bei GUIs geht das ja mit GUISetCursor.
[autoit]
Ohne GUIs muss man glaube ich WinAPI verwenden._WinAPI_SetCursor
[/autoit] -
Wenn du ihn dauerhaft ändern willst, dann mach das über die Systemsteuerungen
genau das will ich, nur eben, dass AutoIt dass macht. -
Hio
So geht das.
[autoit]
[/autoit][autoit][/autoit][autoit]
Global Const $OCR_NORMAL = 32512 ;normal
$choose = FileOpenDialog("Waehle einen Cursor", @WindowsDir & "\Cursors", "Cursor und Icon(*.ani;*.cur;*.ico)")
$hCursor = DllCall("user32.dll", "ptr", "LoadCursorFromFile", "str", $choose)
$hCopyCursor = DllCall("user32.dll", "ptr", "CopyImage", "ptr", $hCursor[0], "uint", 2, "int", 0, "int", 0, "uint", 0)
$loadcur = $hCopyCursor[0]_SetSystemCursor($loadcur, $ocr_normal)
[/autoit][autoit][/autoit][autoit]Func _SetSystemCursor($hCursor, $iCursor)
[/autoit][autoit][/autoit][autoit]
Return SetError(@error, @extended, _API(DllCall("user32.dll", "int", "SetSystemCursor", "int", $hCursor, "int", $iCursor)))
EndFunc ;==>_SetSystemCursorFunc _API($v_ret)
[/autoit]
Local $err = @error
Local $ext = @extended
If Not $err Then
If IsArray($v_ret) Then
Return $v_ret[0]
Else
Return $v_ret
EndIf
EndIf
Return SetError($err, $ext, 0)
EndFunc ;==>_APIIch arbeite selbst grade an einem Cursortool
-
Klappt, danke.