YuS 2
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору farag когда-то делал по запросу... Слежение за запущенной программой... если закрывается, то появляется форма на повторный запуск, либо отключение слежения: Код: @echo off start "" powershell -ex bypass -w hidden .\script.ps1 | на простом цикле: script.ps1 Код: add-type -assembly system.windows.forms $process = 'notepad' $start = {c:\windows\notepad.exe} do { if (!($p = ps $process -ea 0)){ &$start $p = ps $process } $form = new-object windows.forms.form $form.autosize = $true $form.autosizemode = [windows.forms.autosizemode]::growandshrink $form.formborderstyle = [windows.forms.formborderstyle]::fixedtoolwindow $form.controlbox = $false $form.sizegripstyle = [windows.forms.sizegripstyle]::hide $form.text = 'Запустить' + ' ' + $process + '?' $form.showintaskbar = $false $form.topmost = $true $form.startposition = 'CenterScreen' $btnyes = new-object windows.forms.button $btnyes.text = 'Да' $btnyes.location = new-object system.drawing.point(3,10) #$btnyes.add_click({click 0}) $btnyes.dialogresult = [windows.forms.dialogresult]::ok $form.controls.add($btnyes) $btnno = new-object windows.forms.button $btnno.text = 'Нет' $btnno.location = new-object system.drawing.point(110,10) #$btnno.add_click({click 8}) $btnno.dialogresult = [windows.forms.dialogresult]::no $form.controls.add($btnno) wait-process $p.id $res = $form.showdialog() } while ($res -ne 'No') | или так: Код: add-type -assembly system.windows.forms $process = 'notepad' $start = {c:\windows\notepad.exe} do { if (!($p = ps $process -ea 0)){ &$start $p = ps $process } $btn = [windows.forms.messageboxbuttons]::yesno $t1 = [windows.forms.messageboxicon]::question $t2 = [windows.forms.messageboxdefaultbutton]::button1 $top = [windows.forms.messageboxoptions]::servicenotification # .topmost = $true wait-process $p.id $res = [windows.forms.messagebox]::show($process, "Запускаем файл?",$btn,$t1,$t2,$top) } while ($res -ne 'No') | По сути, do-while нужен для запуска по кругу, а так достаточно wait-process, ну и может условный блок ещё... Разберешься ведь как прикрутить к твоей задаче? |