Comment créer un programme de création de fenêtres programmé pour éviter de voler l'attention?

J'ai écrit un petit programme de console qui vérifie que tous mes sites Web sont opérationnels correctement. J'utilise le planificateur de tâches Microsoft Windows pour exécuter ce programme automatiquement une fois par jour.

Capture d'écran

Le problème est que, tout naturellement, le programme décide de se concentrer chaque fois qu'il fonctionne. Je préférerais qu'il démarre sans devenir la plus grande fenêtre de mon bureau. Quel est le moyen le plus simple d'y parvenir? Bien sûr, je pourrais réécrire mon EXE pour créer une fenêtre d'arrière-plan (ou aucune fenêtre du tout), mais il serait bon que le planificateur de tâches ait une option comme «Ne pas voler la mise au point» ou quelque chose, mais peut-être que cela n'est même pas possible …

Vous pourriez avoir Task Scheduler exécuter un vbscript qui ouvre votre programme de console. Le vbscript peut utiliser la méthode Shell Run pour l'ouvrir minimisé avec quelque chose comme:

Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "notepad.exe", 6, true 

Il y a des informations de base à ce sujet à http://ss64.com/vb/run.html

N'appelez pas directement l'application. Exécutez-le à partir d'un raccourci qui commence minimisé.

Je suppose que vous pourriez également ajouter un fichier batch dans le mixage qui utilise /start /min pour le même effet, mais je soupçonne que le fichier batch volera la mise au point à moins qu'il ne soit appelé à partir d'un raccourci qui commence minimisé.

EDIT: Le start /min ne se déplace très brièvement, mais il fonctionne sur ma machine, en utilisant un fichier batch .cmd qui appelle une nouvelle fenêtre de ligne de commande (en utilisant cmd.exe).

Mon fichier batch ressemble à ceci:

 @echo off cls start /min C:\Users\Randolph\Desktop\shortcut.lnk 

Le raccourci lui-même ouvre cmd.exe et les options par défaut sont sélectionnées, sauf qu'elle s'ouvre minimisée (l'option Run: est définie sur Minimized ).

Cette syntaxe permet à l'idée start / min de fonctionner:
% Comspec% / c start "" / min "C: \ Scripts \ Destination_inbound_ftp5.bat"