Через подписки на события.
Как общий пример исполнения:
События Запуск калькулятора после закрытия блокнота.
В вашем случак нужно будет запускать скрипт/exe убивающий процесс запрещённого запуска.
powershell (.ps1)
В общем. В Windows 10 вся эта конструкция, код которой мы изобразили здесь, заменена ярлыком с Url путём: ms-settings:network-dialup, который отправляет в новый тормозной дизайн Windows.
И это не радует, а скорее расстраивает, потому, что эти интернет ярлыки, даже близко не принадлежат DCOM компонентам Windows и почти не управляемы, и NameSpace(49), фигурирующий в коде, одно из немногих окно, принадлежащих обоим системам, и "тормознутому" метро, и привычному Windows.
Ещё к ним относится Cortana, хотя она и не фигурирует в перечислениях New-Object -ComObject Shell.Application. Вроде как, ... все элементы, которые кроме интернет ярлыка имеют ярлык содержащий _cw5n1h2txyewy, но в этом я не уверен.
Это то, что я встречал на практике. Они есть в COM. Они же вызывают множественные ошибки. Попытки подмять их под себя в службе компонентов заканчиваются крахом элемента.
Весело. Ну а если ещё подобрать ширину картинки в соответствии с шириной строки в блокноте и вырезать заголовок файла BMP, то можно и свой чёрный квадрат Малевича в блокноте нарисовать.
Да собственно говоря, если ширина строки действительно однозначно совпадёт, то рисуй, что хочешь.
Можно красный квадрат ff0000, можно синий.
Та же проблема, только после установки USB 3.0 драйвера. Ни биоса ни вывода экрана после простоя в видимость. USB 2.0 решило проблему но провода на передней панели :(/ Буду использовать ps2 выход для мыши. По крайней мере экран выводится а клавиатура в windows работает и на задней панели.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Как общий пример исполнения:
События Запуск калькулятора после закрытия блокнота.
В вашем случак нужно будет запускать скрипт/exe убивающий процесс запрещённого запуска.
powershell (.ps1)
$CalcProcessObj = [System.Diagnostics.Process]::Start("notepad.exe")
Register-ObjectEvent -InputObject $CalcProcessObj -EventName Exited -Action { cmd.exe /c start calc.exe }