Page 1 sur 1
[R] Apparence souris
Posté : mar. 25 août 2009 00:26
par L4crymal
Bonjour, je cherche à modifier l'apparence de la souris avec Autoit3.
Pouvez vous m'aider SVP?
Merci d'avance.
Re: [..] Apparence souris
Posté : mar. 25 août 2009 07:56
par Tlem
Vous cherchez à lui donner quel type d'apparence :




A moins que vous ne parliez du
curseur de la souris ...
Auquel cas vous devriez regarder du coté de :
- GUISetCursor
- GUICtrlSetCursor
- _WinAPI_SetCursor
- etc ...
Re: [..] Apparence souris
Posté : mar. 25 août 2009 08:58
par L4crymal
J'ai essayer comme ceci mais je pense pas que ce soit la bonne solution:
Code : Tout sélectionner
#Include <WinAPI.au3>
$cur=_WinAPI_SetCursor("no_r.ico")
MsgBox(0,"",$cur)
While 1
Sleep(1)
WEnd
Re: [..] Apparence souris
Posté : mer. 26 août 2009 05:56
par HeartKey
Deja si je me souvient bien pour changer le
curseur il faut deja avoir un GUI....(a vérifier)
et, toujours si je me souvient bien

, on ne peut pas préciser un fichier icone mais seulement le type de
curseur voulu (également a vérifier).
@Tlem : J'adore votre colléction

.
Re: [..] Apparence souris
Posté : mer. 26 août 2009 07:01
par orax
D'après MSDN, il y a aussi
LoadImage pour charger une icone,
curseur,
curseur animé ou bitmap ; mais je n'ai pas testé.
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
Global $hCurseur = DllCall("user32.dll", "hwnd", "LoadCursorFromFile", "str", "Alternate Select.cur")
If @error Then MsgBox(0, "Erreur", @ScriptLineNumber)
GUIRegisterMsg($WM_SETCURSOR, 'WM_SETCURSOR')
GUICreate("")
GUISetState()
Sleep(10000)
Func WM_SETCURSOR($hWnd, $iMsg, $iWParam, $iLParam)
_WinAPI_SetCursor($hCurseur[0])
Return 0
EndFunc ;==>WM_SETCURSOR
Re: [..] Apparence souris
Posté : mer. 26 août 2009 12:53
par L4crymal
Thierry à mon secoure

Re: [..] Apparence souris
Posté : mer. 26 août 2009 17:21
par Tlem
Avec plus de détails, je comprendrais sans doute mieux.
Expliquez en détail le but, l'action et l'effet.
Par exemple : J'ai créé un bouton, et je voudrais qu'en passant au dessus le
curseur change de forme.
Ce qui donne :
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Test Curseur", 279, 123, 192, 124)
$MyButton1 = GUICtrlCreateButton("Le Bouton", 88, 80, 100, 30, $BS_FLAT)
GUICtrlSetCursor (-1, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Re: [..] Apparence souris
Posté : mer. 26 août 2009 18:06
par L4crymal
Non en fait je sais comment faire ça, mais j'aimerais que le
curseur change d'apparence ou qu'il soit, par exemple une fleur mais partout

Re: [..] Apparence souris
Posté : mer. 26 août 2009 18:39
par Tlem
Puisque c'est au niveau du système que vous souhaitez changer le
curseur, c'est donc au niveau de Windows qu'il faut intervenir.
Je pense que vous devez créer un fichier
curseur (.cur ) et modifier le comportement de Windows pour prendre en compte ce nouvel élément (surement dans la base de registre).
Il doit surement y avoir un moyen avec les api Windows comme l'à indiqué orax, mais il faut creuser un peut.

Re: [..] Apparence souris
Posté : mer. 26 août 2009 19:50
par L4crymal
J'ai essayer ça, mais ça marche pas, apparemment Windows rafraichis quelque chose lors du changement manuel de
curseur mais je sais pas quoi :s
Code : Tout sélectionner
#RequireAdmin
RegWrite("HKCU\Control Panel\Cursors","Arrow","REG_EXPAND_SZ","%USERPROFILE%\Desktop\hnodrop.cur")
Sleep(5000)
RegWrite("HKCU\Control Panel\Cursors","Arrow","REG_EXPAND_SZ","")
Re: [..] Apparence souris
Posté : jeu. 27 août 2009 09:08
par Tlem
Je viens de tester ce code de transxx du forum Anglais et il fonctionne exactement comme vous le souhaitez :
► Afficher le texte
Code : Tout sélectionner
Global Const $OCR_NORMAL = 32512
Global Const $OCR_IBEAM = 32513
Global Const $OCR_WAIT = 32514
;XXXXXXXXXXXXXXX
$hDefaultCursorLoad = _LoadCursor($OCR_NORMAL)
$hDefaultCursor = _CopyCursor($hDefaultCursorLoad)
If @error Then
Exit ConsoleWrite("! Error copying cursor" & @CRLF)
EndIf
;XXXXXXXXXXXXXXX
$GUI = GUICreate("Test")
GUISetState()
Local $hWaitCur
$curPath = @WindowsDir & "\Cursors\sizenesw.ani"
$newCur = _LoadCursorFromFile($curPath)
_SetSystemCursor($newCur, $OCR_NORMAL)
While 1
If GUIGetMsg() = -3 Then ExitLoop
Sleep(10)
WEnd
_SetSystemCursor($hDefaultCursor, $OCR_NORMAL)
$hPrevCur = 0
$hWaitCur = 0
Func _LoadCursorFromFile($iCursor)
Return SetError(@error, @extended, _API(DllCall("user32.dll", "int", "LoadCursorFromFile", "str", $iCursor)))
EndFunc ;==>_LoadCursorFromFile
Func _LoadCursor($iCursor)
Return SetError(@error, @extended, _API(DllCall("user32.dll", "int", "LoadCursorA", "hwnd", 0, "int", $iCursor)))
EndFunc ;==>_LoadCursor
Func _SetSystemCursor($hCursor, $iCursor)
Return SetError(@error, @extended, _API(DllCall("user32.dll", "int", "SetSystemCursor", "int", $hCursor, "int", $iCursor)))
EndFunc ;==>_SetSystemCursor
Func _CopyCursor_($iCursor); <--- check your user32.dll for CopyCursor function. Is it there?
Return SetError(@error, @extended, _API(DllCall("user32.dll", "int", "CopyCursor", "hwnd", $iCursor)))
EndFunc ;==>_CopyCursor_
Func _DestroyCursor($iCursor)
Return SetError(@error, @extended, _API(DllCall("user32.dll", "int", "DestroyCursor", "hwnd", $iCursor)))
EndFunc ;==>_DestroyCursor
Func _API($v_ret)
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 ;==>_API
Func _CopyCursor($hCursor)
Local $aCall = DllCall("user32.dll", "hwnd", "CopyImage", _
"hwnd", $hCursor, _
"dword", 2, _; IMAGE_CURSOR
"int", 0, _; same width as the original
"int", 0, _; same height as the original
"dword", 16384); LR_COPYFROMRESOURCE
If @error Or Not $aCall[0] Then
Return SetError(1, 0, 0)
EndIf
Return SetError(0, 0, $aCall[0])
EndFunc ;==>_CopyCursor
Re: [..] Apparence souris
Posté : jeu. 27 août 2009 11:20
par L4crymal
Magnifique!!! Merci beaucoup !!!
Re: [R] Apparence souris
Posté : dim. 25 oct. 2009 10:10
par guitarist
Et pour creer un .cur que faut-il utiliser????????
Re: [R] Apparence souris
Posté : dim. 25 oct. 2009 10:31
par Douves
Google -> Créer
curseur souris -> 01net -> Bouton télécharger
Cordialement,
Re: [R] Apparence souris
Posté : dim. 25 oct. 2009 11:29
par guitarist
Ok merci c'est fou ce que je suis bete

Re: [R] Apparence souris
Posté : dim. 25 oct. 2009 12:15
par ani
Pour la création de
curseur il existe un produit microsoft du nom de imagedit.
Un autre du même genre toujours made crosoft Aniedit (extension .ani & .cur).
Disponible dans les divers ressources kit que propose microsoft

Si vous ne savez pas où les télécharger vous avez ceux-ci, un lien ftp made crosoft, il en existe d'autre
► Afficher le texte
Code : Tout sélectionner
ftp://ftp.microsoft.com/services/technet/samples/ps/win98/reskit/desktop
bonne continuation.