Команда Windows [cmd.exe] для отображения сообщения с таймаутом?
Примечание. Это вопрос с ответом, чтобы документировать технику, которую другие могут найти полезной, и для того чтобы быть осведомленным о других & rsquo; даже лучшие решения. Не стесняйтесь добавлять критику или вопросы в качестве комментариев. Также не стесняйтесь добавлять дополнительные ответы.:)Суб >
Как я могу отобразить сообщение, введя одну команду Windows, например. в диалоговом окне "Запуск" в меню "Пуск" или в интерпретаторе команд [cmd.exe]?
Ответы
Ответ 1
Один из способов заключается в использовании явно недокументированной функциональности, а именно, что [mshta.exe], механизм выполнения для Windows.hta HTML-приложений, принимает общий URL-адрес в качестве аргумента командной строки, включая URL-адрес javascript:
:
mshta "javascript:var sh=new ActiveXObject( 'WScript.Shell' ); sh.Popup( 'Message!', 10, 'Title!', 64 );close()"
![The resulting messagebox]()
Эта команда может быть выдана, например, [cmd.exe]] или, например, в диалоговом окне "Запуск" в меню "Пуск", возможно, в сочетании с командой schtasks
, чтобы создать чаепитие & hellip;
Вышеуказанное сообщение отключается через 10 секунд, но указание 0-го тайм-аута означает "дон & rsquo; t тайм-аут", создавая более обычное постоянное сообщение.
Для более простого сообщения вы можете вместо этого использовать функцию alert
, предоставляемую хостом MSHTA.
Ответ 2
в командной строке:
msg %username% Message
интересными параметрами являются:
/w (wait for user)
/time:<seconds>
Ответ 3
Обнаружено, что если вы скопируете файл msg.exe с машины Win7 Pro на машину Win7 Home, она работает. Скопируйте файл msg.exe в папку C:\Windows\System32 и из нее.
Ответ 4
Что делать, если вы создаете небольшой VBScript с сообщением, которое хотите отобразить?
То есть создайте e файл с именем "Message.vbs" с содержимым:
MsgBox "Some info here", 0, "Message Title"
и назовите его следующим образом:
cscript.exe PATH\Message.vbs