PDA

Показать полную графическую версию : [решено] как с помощью cmd/bat вызвать на рабочий стол сообщение


vosya
08-03-2011, 08:07
как с помощью cmd/bat вызвать на рабочий стол сообщение http://img689.imageshack.us/i/105810.png/

http://img689.imageshack.us/img689/7746/105810.png (http://img689.imageshack.us/i/105810.png/)

Iska
08-03-2011, 11:31
vosya, сторонними утилитами, например, NirCmd: Freeware Command-Line Tool (http://www.nirsoft.net/utils/nircmd.html) — консольная и GUI-версии, много полезного (http://www.nirsoft.net/utils/nircmd2.html#using) получаете попутно.

Пример по вопросу:
infobox [message text] [title]
Displays a simple message box on the screen.

Example:
nircmd.exe infobox "This is a message box !" "message"

Можно и встроенными средствами (скажем, извращённо задействуя JScript через WSH или HTA). Если очень надо исключительно встроенными — укажите это.

vosya
08-03-2011, 11:47
Можно и встроенными средствами (скажем, извращённо задействуя JScript через WSH или HTA). Если очень надо исключительно встроенными — укажите это. »

Iska, хотелось бы встроенными средствами :) (например, через WSH)

kiripanda
08-03-2011, 12:56
@echo off &chcp 1251 >nul
echo Set Args = WScript.Arguments> "%temp%\MsgBox.vbs"
echo MsgBox Args(0), vbInformation, Args(1)>> "%temp%\MsgBox.vbs"

"%temp%\MsgBox.vbs" "Первый текст" "Первый заголовок"
ping -n 2 127.0.0.1 >nul
"%temp%\MsgBox.vbs" "Ещё один текст" ""

del /q "%temp%\MsgBox.vbs"
как-то так

Iska
08-03-2011, 14:14
vosya, kiripanda привёл один из возможных способов. Два других:

* совмещение JScript и CMD «в одном флаконе»:
@set @x=0 /*
@echo off
echo This is CMD-part of script

wscript.exe /nologo /e:jscript %~dpf0

goto:eof */

WScript.Echo("Hello World!")
Источник: CMD/BAT + JavaScript: два в одном (http://forum.script-coding.com/viewtopic.php?id=2886)

* использование mshta.exe из-под пакетного файла:
@"%systemroot%\system32\mshta.exe" "javascript:alert('Hello World!'); close();"

vosya
08-03-2011, 14:42
* совмещение JScript и CMD «в одном флаконе»:
Код:
@set @x=0 /*
@echo off
echo This is CMD-part of script
wscript.exe /nologo /e:jscript %~dpf0
goto:eof */
WScript.Echo("Hello World!") »

http://img23.imageshack.us/img23/1919/173221.png

Iska,

а как в заголовке надпись поменять?

как добавить значок пиктограммы "vbInformation"?

Iska
08-03-2011, 15:04
Данным методом — никак: в JScript нет ни MsgBox и констант типа «vbInformation», а в VBScript нет потоковых комментариев. Пользуйте предложенный выше в #4 (http://forum.oszone.net/post-1629898-4.html) kiripanda'ой способ. Передачу «vbInformation» и прочих флагов туда можно добавить ещё одним параметром формируемого скрипта.

pzh2393
27-01-2013, 17:25
А можно ли в каком-то из методов (JScript и CMD или mshta.exe) сделать так, чтобы окно само закрывалось по истечении 5 секунд и не содержало кнопки "ОК"?
просто нужно средствами BAT получить информационное окно виндовз, сообщающее пользователю некую информацию...

Iska
27-01-2013, 22:42
А можно ли в каком-то из методов (JScript и CMD или mshta.exe) сделать так, чтобы окно само закрывалось по истечении 5 секунд »

Windows Script Host (JScript):
(new ActiveXObject("WScript.Shell")).Popup("Text", 5, "Title", 32);

и не содержало кнопки "ОК"? »
Нет. Только создание своей формы на HTA.

просто нужно средствами BAT получить информационное окно виндовз, сообщающее пользователю некую информацию... »
Используйте «msg.exe» и не плодите излишних сущностей.




© OSzone.net 2001-2012