Remarque: Ceci est un question-avec-réponse afin de documenter une technique que d'autres pourraient trouver utile, et dans l'ordre pour peut-être prendre conscience des solutions encore meilleures des autres. N'hésitez pas à ajouter des critiques ou des questions en tant que commentaires. N'hésitez pas à ajouter des réponses supplémentaires. :)
Comment puis-je afficher une boîte de message en tapant une seule commande Windows, par exemple dans la boîte de dialogue Exécuter dans le menu Démarrer, ou dans l'interpréteur de commandes [cmd.exe]?
Une façon consiste à utiliser des fonctionnalités apparemment non documentées, à savoir que [mshta.exe], le moteur d'exécution pour les applications HTML Windows .hta, accepte une URL générale comme argument de ligne de commande, y compris un javascript:
URL du protocole:
mshta "javascript:var sh=new ActiveXObject( 'WScript.Shell' ); sh.Popup( 'Message!', 10, 'Title!', 64 );close()"
Cette commande peut être émise par ex. [cmd.exe]], ou par exemple dans la boîte de dialogue Exécuter du menu Démarrer, peut-être combinée avec la commande schtasks
pour créer un thé- minuteur…
La boîte de message ci-dessus expire après 10 secondes, mais spécifier un délai d'expiration de 0 seconde signifie "ne pas expirer", produisant une boîte de message persistante plus ordinaire.
Pour une boîte de message plus simple, vous pouvez utiliser à la place la fonction alert
fournie par l'hôte MSHTA.
à l'invite de commande:
msg %username% Message
les paramètres intéressants sont:
/w (wait for user)
/time:<seconds>
Trouvé que si vous copiez msg.exe d'une machine Win7 Pro vers une machine Win7 Home, cela fonctionne. Copiez msg.exe vers et depuis le dossier C:\Windows\System32.
Et si vous créez un petit VBScript avec le message que vous souhaitez afficher? C'est à dire. créer un fichier e, nommé "Message.vbs" avec le contenu:
MsgBox "Some info here", 0, "Message Title"
et appelez-le comme ceci:
cscript.exe PATH\Message.vbs