Подтвердить что ты не робот

Команда Windows [cmd.exe] для отображения сообщения с таймаутом?

Примечание. Это вопрос с ответом, чтобы документировать технику, которую другие могут найти полезной, и для того чтобы быть осведомленным о других & rsquo; даже лучшие решения. Не стесняйтесь добавлять критику или вопросы в качестве комментариев. Также не стесняйтесь добавлять дополнительные ответы.:)Суб >


Как я могу отобразить сообщение, введя одну команду Windows, например. в диалоговом окне "Запуск" в меню "Пуск" или в интерпретаторе команд [cmd.exe]?

4b9b3361

Ответ 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