web-dev-qa-db-fra.com

Commande Windows [cmd.exe] pour afficher une boîte de message avec délai d'expiration?

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]?

13

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()"

The resulting messagebox

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.

26

à l'invite de commande:

msg %username% Message

les paramètres intéressants sont:

/w        (wait for user) 
/time:<seconds>
7
Stephan

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.

1
user4641788

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

1
Panayotis