Faire un coin du bureau active l’économiseur d’écran

J’essaie d‘écrire une application simple pour activer mon économiseur d’écran lorsque la souris est dans le coin supérieur droit de l’écran. J’ai trouvé une solution pour contrôler l’économiseur d’écran à partir de C # mais j’ai du mal à trouver comment faire un test de type “coin chaud” pour la position de la souris. C’est la seule partie avec laquelle je suis coincé, toute aide serait appréciée.

Cela active l’économiseur d’écran

[DllImport("user32.dll", EntryPoint = "GetDesktopWindow")] private static extern IntPtr GetDesktopWindow(); [DllImport("user32.dll")] private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam); private const int SC_SCREENSAVE = 0xF140; private const int WM_SYSCOMMAND = 0x0112; public static void SetScreenSaverRunning() { SendMessage(GetDesktopWindow(), WM_SYSCOMMAND, SC_SCREENSAVE, 0); } 

J’ai fait exactement la même chose, seulement il charge en haut à gauche. Ce que j’ai fait était juste de faire en sorte que la taille du formulaire soit de 1px par 1px sans bordure, et d’activer simplement l’écran de veille lorsque la souris rest au-dessus du formulaire pendant une seconde. Faire de cette façon nécessite que vous trouviez tous les moyens de garder la forme au-dessus de tout.

Une autre option serait l’accrochage de la souris et la recherche de la position de la souris (0,0) ou, pour le coin supérieur droit – (0, screen.width)

Vous pouvez utiliser la classe System.Windows.Form.Screen pour obtenir la résolution actuelle (consultez cette réponse ). Ensuite, utilisez Cursor.Position.Property pour déterminer l’emplacement actuel du curseur (c’est-à-dire s’il se trouve dans les limites d’un rectangle prédéfini qui devrait l’activer).

Vous pouvez également essayer les ScrHots de Lucian Wischik. C’est un logiciel gratuit qui fait exactement ce dont vous avez besoin, et qui a aussi des recoins pour “ne jamais activer l’économiseur d’écran”. Les quatre coins peuvent être programmés pour effectuer l’une ou l’autre fonction. J’ai utilisé celui-ci pendant des années, et ça marche très bien.

http://www.wischik.com/scr/savers.html (ScrHots3, sous la section “Utilitaires”)

J’espère que cela aide quelqu’un.