Créer un programme qui se trouve dans la barre des tâches Windows et, lorsqu’il est activé, arrête l’économiseur d’écran du démarrage

Je ne sais pas vraiment par où commencer. Commençons par les questions stupides:

Quelle langue dois-je utiliser pour cela? Qu’est-ce qui convient à la tâche à accomplir?

Ensuite, les vrais:

Y a-t-il un moyen d’empêcher l’économiseur d’écran de démarrer, à moins de changer la position du curseur? Sinon, le changement de position du curseur fonctionnera-t-il même?

SetThreadExecutionState empêchera l’économiseur d’écran ou la machine de s’endormir automatiquement si vous transmettez les indicateurs ES_CONTINUOUS et ES_DISPLAY_REQUIRED.

J’ai écrit une application il y a quelque temps qui fait exactement ce que vous demandez. Il s’exécute en tant qu’icône dans la barre d’état système, pas dans la barre des tâches, et utilise un hook de message global pour désactiver la notification WM_SYSCOMMAND/SC_SCREENSAVE de toute application. Si cette notification n’atteint pas la fonction DefWindowProc (), l’écran de veille ne s’exécutera jamais.

  1. Votre programme n’a pas besoin d’être visible dans la barre des tâches.
  2. Vous n’avez même pas besoin d’un programme, si vous pouvez désactiver l’économiseur d’écran dans le registre.
  3. Vous pouvez peut- être réaliser ce que vous voulez en envoyant un événement MOUSE_MOVE à la fenêtre du bureau. Si vous voulez utiliser C # (le seul langage pour lequel je suis en ce moment), vous pouvez consulter cet article , mais peut-être qu’un simple programme C utilisant WinAPI convient mieux à cette tâche.

.NET vous permettra facilement de placer une application dans la barre d’état système (consultez l’object NotifyIcon dans System.Windows.Forms.Controls).

Je pense que vous pouvez utiliser l’appel de l’API SetCursorPos ( http://msdn.microsoft.com/en-us/library/ms648394(VS.85).aspx ) pour empêcher l’économiseur d’écran, assurez-vous juste de les définir sur le courant emplacement pour ne pas déplacer la souris.