Windows: Как отобразить неблокирующее окно оповещения / подтверждения? - PullRequest
3 голосов
/ 09 мая 2009

Я хочу реализовать простое окно подтверждения / предупреждения, которое CLI может вызвать с помощью пакетного сценария Windows XP / Vista.

Кажется, что стандартное окно предупреждения блокируется, что означает, что весь пакетный скрипт будет остановлен во время вызова окна предупреждения, что НЕ то, что я хочу.

Если это необходимо кодировать, предоставьте пример или документацию. Язык может быть любым, который может быть скомпилирован без использования виртуальной машины.

Ответы [ 2 ]

4 голосов
/ 09 мая 2009

Вы можете использовать инструмент msg:

Send a message to a user.

MSG {username | sessionname | sessionid | @filename | *}
    [/SERVER:servername] [/TIME:seconds] [/V] [/W] [message]

  username            Identifies the specified username.
  sessionname         The name of the session.
  sessionid           The ID of the session.
  @filename           Identifies a file containing a list of usernames,
                      sessionnames, and sessionids to send the message to.
  *                   Send message to all sessions on specified server.
  /SERVER:servername  server to contact (default is current).
  /TIME:seconds       Time delay to wait for receiver to acknowledge msg.
  /V                  Display information about actions being performed.
  /W                  Wait for response from user, useful with /V.
  message             Message to send.  If none specified, prompts for it
                      or reads from stdin.

Звонок

msg * Some text

не блокируется. У него также есть хорошая возможность снова закрыть окно сообщения через определенное время, если требуется.

Однако, на заметку, вы не должны использовать эти вещи. Монологи (например, окна сообщений с точной кнопкой ОК) имеют информационную эффективность 0% (см. Джеф Раскин: Гуманный интерфейс . Раздел 4–3: Измерение эффективности интерфейса или Аза Раскин: Монологические рамки и прозрачные сообщения или Аза Раскин: Знайте, когда прекратить конструировать, количественно ).

4 голосов
/ 09 мая 2009
start MessageBox.vbs

... где MessageBox.vbs содержит вызов функции MsgBox.

...