VBS: мониторинг процессов и уведомление на email
Назначение скрипта: Запуск по шелдуру, мониторинг запущенных процессов указанных в коде, при отсутствии запущенного процесса, запускать его, и отправлять email.
Убрал несколько параметров где ссылки на отправку email, а то форма не давала создать тему.
Программа notepad взята как тест. На самом деле будет не две программы, а около 30. Поэтому в примере, чтобы код был не большой указал всего 3.
Очень хочется добавить в функционал скрипта
1. В полях отправки email чтобы objMessage.Subject и objMessage.TextBody писались имена тех процессов которые были перезапущены. Например если закрылась программа notepad2, скрипт её запустил и отправил email где в полях Тема и тело письма писалось что это notepad2.exe
2. Не уверен что правильная структура кода проверки и запуска процесса, она хоть и работает, но не на 100%. Бывает такое что приложения которые скрипт запускает до конца не запускаются
. Например мои приложения когда полностью запущены весят в памяти 50МБ, так вот, когда скрипт запускает приложение, оно загружается до 20МБ и вылетает. А если в тотже момент самому тыкнуть на ярлык приложение, оно 100% запустится. Я не могу понять из-за чего это, но и не всегда это происходит. Есть предположения только, не хватает дескрипторов ресурсов. Также прочитал про интерактивный и не интерактивный режим запуска, возможно из-за этого приложение полностью не может загрузится. Т.е. скрипт неправильно написан для режима запуска.
Спасибо, что дочитали до сюда 
Как в Windows создать всплывающее уведомление при запуске программы?
Возможно ли сделать так, чтобы при запуске ярлыка программы мне сначала прилетало уведомление, а потом запускалась сама программа?
- 2xЛКМ по ярлыку программы
- Появилось уведомление в центре экрана
- Нажал на ok внутри окна уведомления
- Запуск программы
Играю в War Thunder. Багов там немерянно, ну я и держу DVR от Nvidia на случай баг-репорта.
Nvidia не предусмотрела автоматическое включение записи, а сам включать иногда забываю. В настройках есть пункт «Запретить съёмку рабочего стола», но тогда ошибки после вылета могут не попасть на запись.
Вот и хочу себе подобное уведомление сделать, если это возможно.
Как послать оповещение произвольному приложению windows vbs
Как послать оповещение произвольному приложению windows vbs
Форумчане, день добрый помогите допилить скрипт. Сам не силен.
Сам скрипт vbs
Назначение скрипта: мониторинг запущенных процессов указанных в коде, при отсутствии запущенного процесса, запускать его, и отправлять email.
Программа notepad взята как тест. На самом деле будет не три программы, а около 30. Поэтому в примере, чтобы код был не большой указал всего 3. Какая длина при 30 программ думаю представляете. Возможно как-то это можно упростить, но я увы не знаю
Очень хочется добавить в функционал скрипта
1. В полях отправки email чтобы objMessage.Subject и objMessage.TextBody писались имена тех процессов которые были перезапущены. Например если закрылась программа notepad2, скрипт её запустил и отправил email где в полях Тема и тело письма писалось что это notepad2.exe
2. Не уверен что правильная структура кода проверки и запуска процесса, она хоть и работает, но не на 100%. Бывает такое что приложения которые скрипт запускает до конца не запускаются smile. Например мои приложения когда полностью запущены весят в памяти 50МБ, так вот, когда скрипт запускает приложение, оно загружается до 20МБ и вылетает. А если в тотже момент самому тыкнуть на ярлык приложение, оно 100% запустится. Я не могу понять из-за чего это, но и не всегда это происходит. Есть предположения только, не хватает дескрипторов ресурсов. Также прочитал про интерактивный и не интерактивный режим запуска, возможно из-за этого приложение полностью не может загрузится. Т.е. скрипт неправильно написан для режима запуска.
3. Для чего строка в скрипте ? ‘WScript.Echo logPath & "/backup" & strDate & ".html"
Спасибо, что дочитали до сюда
Сообщения: 20
Благодарности: 0
Очень прошу добавьте пожалуйста в последний вариант скрипта, проверку на самого себя. Мол если запущен, снова не запускать.
А то если два раза скрипт запустить он, проги по второму разу запускает, и wscript.exe процесс также дублируется в диспетчере задач, но и чтобы не получилось так, что нельзя было ещё какой нибудь скрипт запустить типа vbs но с другим кодом.
Вопрос, обязательно в коде нужно делать так, чтобы скрипт висел постоянно в процессах?
Очень интересно, почему вы пошли по этому пути, а не по пути, запустил-проверил-выгрузился.
Впринципе ваш вариант меня полностью устраивает, и даже сказать лучше, т.к. можно его (скрипт), вызвать из батника который при автовходе запускает программы. Последним в списке сделать.И дополнительно не прописывать в шэдулер.
Цитата Iska:
Ух ты! Это как так получилось? »
хз, мож из-за того что на вынь 8.1 запускаю тест. проверю на 2003. На вынь 2003 тоже самое. Если запущены программы, но не скрипт, после запуска скрипта, он их запускает снова.
Проверял на программе putty. Программу продублировал так как писал в своем посте выше.
Путь запуска приложений следующий:
d:\1\01\putty01.exe
d:\1\02\putty02.exe
d:\1\03\putty03.exe
d:\1\04\putty04.exe
d:\1\05\putty05.exe
и т.д.
Если в скрипте не менять пути и проги, то всё гуд запускает как положено, и как нужно
"C:\WINDOWS\system32\notepad.exe", "C:\WINDOWS\system32\calc.exe", "C:\WINDOWS\system32\mspaint.exe"
Цитата Iska:
Давайте уточним, выложенный мною скрипт (с Вашими путями, разумеется) Вы запускали обычным двойным щелчком из Проводника? Или как-то иначе, например, из-под Диспетчера задач? »
Всё верно, тока не проводник, а TotalCMD (Total Commander), думаю сути от проводника не меняет.
Из под диспетчера нет , этот геморрой ненужен
Цитата Iska:
Не вижу . »
Странно, а он есть , прикреплен. Сейчас сюда прикреплю, скрин от последнего скрипта.
Ругается на строчку: .Send
Вывод уведомлений пользователям с помощью PowerShell
02.10.2018
itpro
PowerShell, Windows 10
комментария 23
Несмотря на то, что PowerShell консольный язык, иногда необходимо из скрипта PowerShell оповестить пользователя об определенном событии или необходимости выполнить определенное действие. Например, вывести уведомление о завершении какого-либо длительного PoSh скрипта, или об наступлении какого-то важного события.
Самый простой способ вывести окошко с произвольным тестом через подсистему сценариев Windows – Wscript.
Следующий код выведет обычное текстовое окно с необходимым текстом и кнопкой OK.
$wshell = New-Object -ComObject Wscript.Shell

С помощью различных свойств метода Popup вы можете настроить вид модального окна сообщения. В том числе можно вернуть в скрипт результаты ответа пользователя на вопрос (Да / Нет).

$Output = $wshell.Popup(«Скрипт формирования отчета завершен! Хотите вывести его на экран?»,0,»Отчет готов»,4+32)
Общий синтаксис и параметры метода Popup:
- <Text> — строка, текст сообщения.
- <SecondsToWait> — необязательный, число. Количество секунд, по истечении которого окно будет автоматически закрыто.
- 0 — кнопка ОК.
- 1 — кнопки ОК и Отмена.
- 2 — кнопки Стоп, Повтор, Пропустить.
- 3 — кнопки Да, Нет, Отмена.
- 4 — кнопки Да и Нет.
- 5 — кнопки Повтор и Отмена.
- 16 — значок Stop.
- 32 — значок Question.
- 48 — значок Exclamation.
- 64 — значок Information.
Описание: возвращает целое значение, с помощью которого можно узнать, какая кнопка была нажата пользователем. Возможные значения:
- -1 — таймаут.
- 1 — кнопка ОК.
- 2 — кнопка Отмена.
- 3 — кнопка Стоп.
- 4 — кнопка Повтор.
- 5 — кнопка Пропустить.
- 6 — кнопка Да.
- 7 — кнопка Нет.
Более привлекательные и приятные взгляду всплывающие сообщения (ballons) можно вывести в Windows 7, 8.1 и 10 через API Windows Forms. Следующий PowerShell код выведет всплывающее сообщение рядом с панелью уведомлений Windows 10, которое автоматически исчезнет через 10 секунд.
Add-Type -AssemblyName System.Windows.Forms
$global:balmsg = New-Object System.Windows.Forms.NotifyIcon
$path = (Get-Process -id $pid).Path
$balmsg.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
$balmsg.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Warning
$balmsg.BalloonTipText = ‘Это текст всплывающего сообщения для пользователя Windows 10’
$balmsg.BalloonTipTitle = «Внимание $Env:USERNAME»
$balmsg.Visible = $true
$balmsg.ShowBalloonTip(10000)

Кроме того для создания красочных всплывающих сообщений в Windows 10 (PowerShell 5.0+)можно использовать отдельный PowerShell модуль BurntToast из галереи PowerShell.
Модуль устанавливается из онлайн репозитория с помощью менеджера пакетов Windows 10:
Install-Module -Name BurntToast
Теперь, например, в ранее рассматриваемый скрипт автоматического отключение от Wi-FI сети при подключении к Ethernet можно добавить красочное уведомление:
New-BurntToastNotification -Text «Отключение от Wi-Fi сети», «Вы были отключены от Wi-Fi сети, т.к. Вше устройство было подключено к скоростному Ethernet подключению.» -AppLogo C:\PS\changenetwork.png
Итак, теперь вы знаете как вывести уведомление пользователя через PowerShell. Если у пользователя есть динамики, можно даже сыграть ему мелодию:
Как показать всплывающее уведомление Windows 10 от VBA
Я хотел бы знать самый простой способ показать всплывающее уведомление в Windows 10 из VBA.
Я не нашел на это хорошего ответа. Я нашел очень простой способ создания уведомлений из PowerShell здесь. Но я не могу заставить его работать из VBA, потому что я не нашел способа выполнить это в одной строке с помощью WScript.Shell.
Я пробовал несколько способов добиться этого, но мне это не удалось. Ниже вы можете найти мою последнюю попытку:
Я бы не хотел писать файл .ps1. Может кто-нибудь помочь мне с этим вопросом?
VBScript: Отправка уведомлений на e-mail или SMS
Здравствуйте, уважаемые коллеги.
Хочу представить пару рукописных классов, которые использую в связке с подпиской на события WMI, что позволяет мне в случае падения целевых сервисов оперативно реагировать. Для реализации sms необходим аккаунт Google. Системным администраторам посвящается
.
Отправка уведомлений на e-mail:
2 Ответ от JSmаn 2012-02-24 00:04:38
- JSmаn
- Разработчик
- Неактивен










Re: VBScript: Отправка уведомлений на e-mail или SMS
Ой, какая красота! Спасибо. С праздником!:-)
3 Ответ от alexii 2012-02-24 00:43:57
- alexii
- Разработчик
- Неактивен
Re: VBScript: Отправка уведомлений на e-mail или SMS
OFF: Дело осталось за малым: завести себе мобильный телефон
.
4 Ответ от Slav 2012-02-24 10:55:46
- Slav
- Разработчик
- Неактивен
Re: VBScript: Отправка уведомлений на e-mail или SMS
. что позволяет мне в случае падения целевых сервисов оперативно реагировать.
спасибо за полезные скрипты.
"Падение целевых сервисов" — по личному печальному опыту — это аварийное отключение канала ИНТЕРНЕТ провайдером.
Поэтому могу предложить в комплект этих двух скриптов аварийного оповещения еще один — включение резервного канала связи (в моем случае — через 3G-модем МЕГАФОН).
Ничего особенного, но в полном комплекте с заглавными скриптами решает вопрос аварийного оповещения — даже если основного канала нет.
5 Ответ от JSmаn 2012-02-26 16:52:59
- JSmаn
- Разработчик
- Неактивен










Re: VBScript: Отправка уведомлений на e-mail или SMS
Что касается sms-шлюзов, то я использую шлюз от Билайн.
Beeline Email to SMS
Чтобы включить возможность приема сообщений с электронной почты на телефон сети БИЛАЙН GSM (и узнать адрес своего телефона), нужно сделать звонок по бесплатному номеру 06849909.
Вам придет SMS-сообщение, в котором будет указан присвоенный вашему телефону адрес электронный почты, а также буква для запроса SMS-инструкции на телефон.
Включаем ENABLE-LONG (Склейка длинных сообщений) звонком на бесплатный номер 06849908 (первый звонок установит значение Yes, повторный — значение No). Теперь можно принимать сообщения в 3 раза большие стандартных.
В итоге вы получаете адрес почты вида 1234567@sms.beemail.ru, отправленные на него письма будут пересылаться на ваш телефон в виде sms сообщений.
6 Ответ от JSmаn 2012-02-26 16:55:21
- JSmаn
- Разработчик
- Неактивен










Re: VBScript: Отправка уведомлений на e-mail или SMS
Slav, у Вас имеются наработки по работе с 3G-модемом? Было бы интересно посмотреть. Я работал с модемами через COM-порт, на кодировке смс остановился.
7 Ответ от BeS Yara 2012-02-27 14:05:55
- BeS Yara
- Разработчик
- Неактивен
Re: VBScript: Отправка уведомлений на e-mail или SMS
Slav, у Вас имеются наработки по работе с 3G-модемом? Было бы интересно посмотреть. Я работал с модемами через COM-порт, на кодировке смс остановился.
AT-команды.
Руководство по использованию АТ-команд для GSM/GPRS моде- мов.: Пер. с англ. – М.:
Серия «Библиотека Компэла». ЗАО «Компэл», 2005. – 432 с.
ISBN 5-98730-004-5
Не уверен по поводу условий распространения этой книги, поэтому — поиск по "at-commands-wavecom.pdf" или в приват(выложу на файлообменник).
Достаточно полезная книга в помощь желающему напрямую работать с GSM-модемом. Также есть маны по mc75, mc75i(и не только — в своё время качал всё что под руку по тематике попадалось с целью разбираться потом
).
Сам правда дальше инициализации модема и отправки СМС через телнет(с ZTE-шного билайновского модема) не пошел — времени не было, а под текущие задачи нашел приемлимый сторонний софт. В результате ещё один "проект" лёг на дальнюю полку в жидании светлого будущего.
Если вариант сторонней утилиты устроит, то вот http://nhutils.ru/sms.htm — консольная утилита с заложенный функционалом по взаимодействию со скриптами.
В бесплатной версии ограничение на 3 исходящих сообщения в минуту(остальные откладываются для последующей отправки). Для задач оповещения администратора вполне достаточно. Плюс можно заточить скрипт на обработку входящих смс с выполнением некоторых действий с сервером(например перезапуск). Да и ценник весьма демократичный(в случае если понадобится снять ограничения).
Есть также GPL проекты вроде SMS AT Communication Library, но нужно допиливать. Примеры работы с GMS модемами также есть на www.codeproject.com(в основном на VB.NET).
Полагаю что тут главное сделать скелет позволяющий посылать AT-команды модему и получать от него ответ. Дальше останется просто разобраться с AT-командами конкретного модема. К сожалению, они могут в тонкостях отличаться у разных модемов.
8 Ответ от BeS Yara 2012-03-01 18:35:45
- BeS Yara
- Разработчик
- Неактивен
Re: VBScript: Отправка уведомлений на e-mail или SMS
Я работал с модемами через COM-порт, на кодировке смс остановился.
Если остановка вызвана отсутствием информации что делать дальше, то сегодня наткнулся на неплохое руководство по этому поводу:
Отправка SMS-сообщений в формате PDU, теория с примерами на C#, часть 1(вообще-то C# я там не видел, зато подробно показано как кодировать сообщение в PDU)
Отправка длинных SMS-сообщений в формате PDU
P.S. В своём последнем сообщении я, конечно, говорил не про телнет, а про гипертерминал — опечатка
.
P.P.S. Можно попробовать сэкономить время на изучении АТ-команд — попытаться воспользоваться сниффером COM-порта и посмотреть что туда шлют существующие программы для работы с модемом.
9 Ответ от dab00 2012-03-02 09:43:59 (изменено: dab00, 2012-03-02 09:45:06)
- dab00
- Разработчик
- Неактивен
- Рейтинг : [ 0 | 0 ]
Re: VBScript: Отправка уведомлений на e-mail или SMS
Зацепило уважаемого BeS Yara
. Навыки работы с модемом на уровне AT-команд — интересно, спасибо.
Что касается "резервного канала" в виде USB-модема — по-моему изобретение велосипеда тут ни к чему — воткнул этот модем в сеть, добавил в свойства TCP/IP сетевого интерфейса дополнительный шлюз и забыл.
10 Ответ от BeS Yara 2012-03-04 16:40:37
- BeS Yara
- Разработчик
- Неактивен
Re: VBScript: Отправка уведомлений на e-mail или SMS
Зацепило уважаемого BeS Yara
. Навыки работы с модемом на уровне AT-команд — интересно, спасибо.
Что касается "резервного канала" в виде USB-модема — по-моему изобретение велосипеда тут ни к чему — воткнул этот модем в сеть, добавил в свойства TCP/IP сетевого интерфейса дополнительный шлюз и забыл.
Думаю Slav имел ввиду резервный канал связи именно как СМС-информер админа о проблемах. С целью информировать админа о ЧС СМС, как мне кажется, гораздо оперативнее чем GPRS с последующим использованием вэб-сервисов или отправкой почты. И уж конечно надёжнее чем рассчитывать на то что основной канал не лёг
.
Тогда это отнюдь не велосипед. Хотя могу и ошибаться.
Ну а работать напрямую с модемом не так сложно как может показаться, по крайнеё мере для простейших случаев
.
Допустим нам нужно информировать админа о проблемах с интернетом или об отключении электричества в офисе. Админ человек образованный — транслит прочитает, упрощённый английский тоже осилит. Да и лимита в 140 символов должно хватить(краткость сестра таланта). Поэтому главное препядствие(кодирование в PDU) отпадает и остаётся мелочь:
Скрипты сделаны практически на коленке — MSDN:MSComm Control + ранние изыскания по AT-командам + COM-сниффер. Собственно два скрипта — два упомянутых в MSDN метода работы с объектом(через посылку команд с последующим считыванием приёмного буфера и через отслеживание событий OnComm).
Конечно нужна двухсторонняя связь — админ может послать в СМС команду, которую скрипт выполнит. Тут уже будет несколько посложнее. Кодирование/декодирование в PDU — дополнительные сложности(хотя я бы не сказал что нерешаемые). Другой вопрос что весь этот функционал уже реализован в упомянутой мной утилите(имеющей более чем приемлимые ограничения при бесплатном использовании, за что разработчикам мегареспект) и времени делать велосипед мне жалко(хотя и интересно).
З.Ы. примеры проверены на билайновском "свистке"(ZTE-626). Правда он был уже инициализирован — с нуля может потребуется добавить пару команд до или после AT(AT, вообще-то не нужен особо — просто вместа "пинга", удостовериться что всё ОК):
Хотя и без них отправляется, но если не выполнить эти команды, то модем будет слать в приёмный буфер "+ZUSIMR:2" каждые пару секунд. При некоторых условиях это может стать проблемой.
11 Ответ от JSmаn 2012-03-04 22:25:33
- JSmаn
- Разработчик
- Неактивен










Re: VBScript: Отправка уведомлений на e-mail или SMS
Что касается инициализации ZTE, то я делал так:
Проверка доступности услуг
Чтение кодировки при получении сведений о балансе (HexUCS2ToUnicode):
Как допишу расшифровку входящих, то полный код выложу.
12 Ответ от Valerman 2012-03-05 05:52:51
- Valerman
- Гость
Re: VBScript: Отправка уведомлений на e-mail или SMS
Искал как раз эту информацию. Большое спасибо.
13 Ответ от BeS Yara 2012-03-05 09:03:48
- BeS Yara
- Разработчик
- Неактивен
Re: VBScript: Отправка уведомлений на e-mail или SMS
Что касается инициализации ZTE, то я делал так:
Мне кажется достаточно оставить:
Если модем используется только скриптом, то и в ATZ я не вижу необходимости.
Или есть какой-то практический смысл сбросить конфигурацию, погасить модем и включить его назад? Если судить по линуксоидам(им чаще всего приходится общаться с модемами посредством AT-команд), то этот процесс может занять от 5 до 15 секунд.
З.Ы. раз тема работы с GSM представляет интерес, может стоит выделить её в отдельную тему, вроде "WSH: работа с модемом посредством AT-команд"? Будет проще собрать воедино все идеи и наработки
.
14 Ответ от JSmаn 2012-03-05 12:04:34
- JSmаn
- Разработчик
- Неактивен










Re: VBScript: Отправка уведомлений на e-mail или SMS
BeS Yara, не вижу смысл создавать новую тему, так как обсуждение идет в отношении отправки уведомлений по SMS. Проще заголовок темы чуток подкорректировать, если dab00 не возражает.
15 Ответ от dab00 2012-03-05 12:42:32
- dab00
- Разработчик
- Неактивен
- Рейтинг : [ 0 | 0 ]
Re: VBScript: Отправка уведомлений на e-mail или SMS
16 Ответ от BeS Yara 2012-03-06 17:40:52 (изменено: BeS Yara, 2012-03-06 18:22:09)
- BeS Yara
- Разработчик
- Неактивен
Re: VBScript: Отправка уведомлений на e-mail или SMS
Тогда продолжаем тут />.
Выдалось свободное время, позанимался велосипедом. Результат — заготовка для отправки сообщения в PDU(т.е. можно и на русском). Пока только одиночное(проверку на длину не делал — всё-таки экспериментальный образец />), но как пример работы должно сойти:
Длинные СМС, полагаю, не сильно сложнее. Но решил идти по шагам, да и когда продолжу не знаю, а так может ещё кто-то присоединится.
Чтобы не усложнять описание в посте: во-первых, порядок действий по кодированию PDU максимально повторяет инструкцию, во-вторых, постарался по максимуму прокоментировать в коде.
Первоначально работало и с 00 вместо номера СМС-центра, потом модем глюкануло и перестал отправлять в таком виде. Поэтому скрипт сначала запрашивает номер СМС-центра у модема, и использует его.
Также немного поправил работу с модемом — выяснилось что появление в приёмном буффере символа ">" не сопровождается CR+LF. Т.к. ошибки по таймауту не генерировал, влияло только на скорость.
Наткнулся в одном из форумов на "усовершенствованную" инструкцию(на основе приведённых статей с hardisoft.ru с добавлениями и исправлениями). Прямые ссылки:
Send_SMS_PDU_Part_1.pdf
Send_SMS_PDU_Part_2.pdf
Если напрямую не будет качается, вот тема — в конце первой и начале второй страниц приложены файлы.
Первое что бросилось в глаза — больше информации по TP-ID. По крайней мере стало ясно отсутствие одного байта в примере, а то голову ломал где я ошибся />.
З.Ы. если кому-то захочется воспользоваться прослушкой COM-порта, то рекомендую "COM Port Toolkit". Прога достаточно функциональная, и недорогая(мой ключик уже пришел />). Для сравнения можно попробовать бесплатный Portmon от Sysinternals. Я попробовал, не понравилось.
17 Ответ от BeS Yara 2012-03-11 15:20:14
- BeS Yara
- Разработчик
- Неактивен
Re: VBScript: Отправка уведомлений на e-mail или SMS
Полагаю что тут главное сделать скелет позволяющий посылать AT-команды модему и получать от него ответ. Дальше останется просто разобраться с AT-командами конкретного модема.
Как-же я заблуждался
.
Продолжаем разговор. Хочу представить мою текущую наработку — класс для формирования PDU для отправки в модем.
Свойства:
DebugMsg[def: False] — True включает вывод сообщений при работе(wscript.echo).
DeliveryReport[def: False] — СМС с уведомлением о доставке(если True)
IsFlashSMS[def: False] — Flash СМС(если True). на моей нокии просто по приходу СМС она сразу открывалась в штатном интерфейсе(блокировка экрана при этом остаётся).
RCPT — телефонный номер адресата в международном формате("+79998887766", можно и "79998887766")
MessageText — текст СМС
SMSC[def: "00"] — номер СМС-центра. Возможные значения:
1. телефонный номер в международном формате("+79037011111", для BeeLine MSK).
2. "00" — брать номер из телефона/SIM-карты(работает не всегда).
3. "" — действует аналогично "00"(на некоторых модемах может работать когда не работает "00").
PartCount — свойство возвращает INTEGER, кол-во частей СМС сообщения. Доступно после задания MessageText. Только для чтения.
TP_VP[def: "00"] — строка содержит байт TP-Validity-Period("время жизни СМСЭ" — время, по истечении которого сообщение в памяти SMSC уничтожается, если SMSC не получил уведомление о доставке сообщения получателем.). В данный момент прописаны значения:
"0B" — Один час…
"1D" — Три часа…
"47" — Шесть часов…
"8F" — Двенадцать часов…
"A7" — Один день…
"C4" — Одна неделя…
"FF" — Максимальный срок хранения…
Значения для TP-VP взяты из ранее упомянутых мануалов. Нашел ещё одну инструкцию(содержит массу информации сверх уже упомянутых статей), в ней описан алгоритм расчёта этого поля:
Как не хватает если уж не тега для таблиц, так хотябы чего-то вроде тега pre — для вывода моноширинным шрифтом с сохранением форматирования. Так и не смог табличку эту выровнять по человечески
.
Описанный алгоритм не реализовывал.
Да и в класс добавил это поле доступным для указания только потому оно было описано — реально не тестировал, и не слишком представляю практическую пользу для темы топика.
Если честно, есть сомнения в работоспособности поля, т.к. согласно цитируемому алгоритму
Метод только один:
SMS — возвращает двухмерный массив. Первая колонка — длина сообщения(для команды "AT+CMGS="), вторая — PDU строка для скармливания модему.
Show a popup/message box from a Windows batch file
Is there a way to display a message box from a batch file (similar to how xmessage can be used from bash-scripts in Linux)?
23 Answers 23
First of all, DOS has nothing to do with it, you probably want a Windows command line solution (again: no DOS, pure Windows, just not a Window, but a Console).
You can either use the VBScript method provided by boflynn or you can mis-use net send or msg . net send works only on older versions of windows:
This also depends on the Messenger service to run, though.
For newer versions (XP and onward, apparently):
It should be noted that a message box sent using msg.exe will only last for 60 seconds. This can however be overridden with the /time:xx switch.
I would make a very simple VBScript file and call it using CScript to parse the command line parameters.
Something like the following saved in MessageBox.vbs :
Which you would call like:
MsgBox reference if you are interested in going this route.
Might display a little flash, but no temp files required. Should work all the way back to somewhere in the (IIRC) IE5 era.
Don’t forget to escape your parentheses if you’re using if :
This will pop-up another Command Prompt window:
If you are using Windows XP’s command.com, this will open a message box.
Opening a new cmd window isn’t quite what you were asking for, I gather. You could also use VBScript, and use this with your .bat file. You would open it from the bat file with this command:
What this does is change the directory command.com will search for files from, then on the next line:
Then you create a new Notepad document, type in
You would then save this as a .vbs file (by putting «.vbs» at the end of the filename), save as «All Files» in the drop down box below the file name (so it doesn’t save as .txt), then click Save!
1) The geekiest and hackiest — it uses the IEXPRESS to create small exe that will create a pop-up with a single button (it can create two more types of pop-up messages). Works on EVERY windows from XP and above:
2) Using MSHTA . Also works on every windows machine from XP and above (despite the OP do not want «external» languages the JavaScript here is minimized). Should be saved as .bat :
3) Here’s parameterized .bat/jscript hybrid (should be saved as bat ). It again uses JavaScript despite the OP request but as it is a bat it can be called as a bat file without worries. It uses POPUP which allows a little bit more control than the more popular MSGBOX. It uses WSH, but not MSHTA like in the example above.
4) and one jscript.net/.bat hybrid (should be saved as .bat ) .This time it uses .NET and compiles a small .exe file that could be deleted:
5) and at the end one single call to powershell that creates a pop-up (can be called from command line or from batch if powershell is installed):