Cacher les curseurs système (win32 api)

Soyez le premier à donner votre avis sur cette source.

Vue 6 700 fois - Téléchargée 288 fois

Description

Suite à une question du forum, voici un code source montrant comment cacher les curseurs système de Windows. Cela peut être utile dans certains cas comme lors de l'utilisation d'écrans tactiles ou des tablettes avec lesquels il est préférable de cacher le pointeur de la souris. La fonction SetSystemCursor() est utilisée pour mettre un curseur transparent à la place des curseurs originaux. Ces derniers seront par la suite restaurés grâce à la fonction SystemParametersInfo(). Le curseur transparent a été créé en quelques secondes avec IconLover puis mis en ressource de l'exécutable.
Pour tester ce dernier, renommez le en HideCursor.exe puis en l'exécutant les curseurs seront cachés pendant 15 secondes.
Code réalisé avec Visual C/C++ 2005.

Source / Exemple :


#define OEMRESOURCE // Permet de reconnaitre les identificateurs des ressources système
#include <windows.h>

int WINAPI WinMain(HINSTANCE  hinst, HINSTANCE hprev, LPSTR cmd, int show)
{
	// Charger le curseur transparent depuis les ressources de l'exécutable:
	HCURSOR hcurseur=LoadCursor(hinst,"IDC_CURSOR");
	// Copier le curseur car SetSystemCursor() doit utiliser une copie:
	HCURSOR hcopiecurseur=CopyCursor(hcurseur);
	// Remplacer le curseur flèche+sablier par notre curseur transparent:
	SetSystemCursor(hcopiecurseur,OCR_APPSTARTING);
	// Faire une autre copie de notre curseur car la précédente a été détruite par SetSystemCursor():
	hcopiecurseur=CopyCursor(hcurseur);
	// Remplacer le curseur flèche normale par notre curseur:
	SetSystemCursor(hcopiecurseur,OCR_NORMAL);
	//Attendre 15 secondes:
	Sleep(15000);
	// Restaurer les curseurs système:
	SystemParametersInfo(SPI_SETCURSORS,0,0,0);
	return 0;
}

Conclusion :


Tout est dans le zip.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

racpp
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
11
J'y avais pensé mais ce n'est pas possible à cause du curseur transparent inclu comme ressource au projet. Ce curseur est récupéré dans le code grâce à LoadCursor().
cs_petifa
Messages postés
215
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
10 mars 2014

slt racpp
plus c'est court mieux c'est, bien commenté aussi,
mais ca aurait pu être mis dans les snippets

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.