![]() |
Программка или скрипт для вывода сообщения, как у Метро-приложений
Использую фильтр записи UWF, при заполнении оверлея в озу комп зависает наглухо. До этого таких неприятностей не было, т.к сама виндовс может работать очень долго, когда все записи на системный диск перенаправляются фильтром в озу-оверлей размером в 1024 мб, если только ошибочно не скопировать что-то объёмом больше 1 гб на С:
Но есть всё-таки моменты приводящие к зависанию и ресету компа, когда я не виноват: например Медиа креатион тулс - указал куда скачивать образ (4 гб) на другой диск, не защищённый фильтром UWF, ушёл пить чай - пришёл скачано 39% и комп благополучно висит мертво - я же не знал, что утилита всё равно качает его на С: (так и не понял куда) а при завершении скачки и, наверное проверки суммы - перемещает его на указанный диск. То есть качалось на С: т.е в озу, а размер оверлея в озу установлен 1 гб и при заполнении комп завис. Фильтр записывает сообщение в журнал событий, его можно настроить , например превышении оверлея озу в 512 мб, когда ещё не поздно остановить тот же Медиа кр тулс или случайное копирование больших файлов на С: Но в журнал же не будешь постоянно смотреть и рефрешить его, это невозможно. Или извлечение из архива перетаскиванием мышью файла - распаковывает его сначала в C:\Users\...\AppData\Local\Temp на С, а только потом перемещает в указанную папку, а если файл больше 1 гб, и забыл, что нельзя перетаскивать, (а надо юзать кнопку "Извлечь") - привет ресет. Короче, создал задание в планировщике в ответ на событие uwf warning 512 mb write! но задача не создаётся с действием "Вывод сообщения" - говорит устаревшая возможность, но это ладно - можно задать запуск скрипта или программки. Только вот как сделать скрипт или программку, чтобы выводилось сообщение как у Метро-приложений, тот же Нюторрент выводит их возле часов, красивое окошко в метро стиле. Очень хочу тоже такое сообщение сделать, только как? Помогите, пожалуйста. |
Цитата:
|
Цитата:
|
|
Iska, Большое спасибо! Даже гуглить толком не умею...
Хм... даже не подозревал, что у ниркмд есть такая возможность, думал он только серьёзными вещами занимается :). С повер шелл немного не разобрался, вот один скрипт сработал (средняя ссылка), но как убрать окно появляющееся повер шелла? И по последней ссылке там, как я понял без иконки в трее работает скрипт? Я не смог его заставить работать... Смотрю на него, как баран на новые ворота, почему он не работает? Как его правильно сделать скрипт? Вот он: Скрытый текст
Код:
function Show-BalloonTip After running the function, simply use it like this: Код:
PS> Show–BalloonTip –Text 'Script has retrieved data' –Title 'All is fine' –Icon Info –Timeout 5000 -вот это не понял куда его? Код:
PS> $script:balloon.Dispose() Since you have disposed it, it no longer works. So when you do want to dispose the tray icon, make sure you also dispose your variable: Код:
PS> $script:balloon.Dispose() что тут куда... скрипты разрешил выполнение командой сет ексекутив в повер шел, создал файл с расширением ps1, но он не работает... а такой запускается скрипт, задачу сделал, в принципе всё устраивает, кроме моргающего окна PowerShell и таймаута: Скрытый текст
Код:
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") но опосля его работы висит иконка в трее... хотя пускай висит, это очень хорошо, т.к уведомление через 5 сек исчезает, хоть ты тресни, при любом таймауте... хоть и написано до 30 сек, но это в десятке уже наверно изменили. Я, конешно, извиняюсь за наглость, и так за меня гуглили... ещё хотел узнать, может кто знает какой таймаут поставить, чтобы окно уведомления не скрывалось вообще, только кликом по крестику ведь уведомления центра безопасности не исчезают... -WindowStyle Hidden -file C:\Scripts\MyScript.ps1 в PowerShell 2.0 это должно убирать окно консоли, хоть и быстрее, но оно всё равно моргает. Наверно очень мощная видеокарта у меня, быстрее рисует, чем винда сообразит :dirol: Вроде как можно обновлять уведомление, тогда оно будет постоянно, по-идее, висеть до закрытия мышкой, но как это сделать пока не придумал, тем более всё привязано к шедулеру, вот пример скрипта обновляемого уведомления, при условии, что скрипт не завершает работу: Скрытый текст
Код:
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") |
Время: 10:07. |
Время: 10:07.
© OSzone.net 2001-