Цитата koresaram:
там разные. есть винХП есть вин8 есть вин10 »
|
Возможно, на XP отсутствует, но это поправимо...
Цитата koresaram:
что такое пауершелл я хз »
|
Ну, например, это:
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
}
$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')
запустить можно так:
run.bat
Код:

@echo off
start "" powershell -ex bypass -w hidden -f .\script.ps1
т.к. messagebox - плохо настраиваемая форма (вывести на передний план я не смог, знаний, наверное, маловато), но можно свою форму наваять, примерно так:
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.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.dialogresult = [windows.forms.dialogresult]::no
$form.controls.add($btnno)
wait-process $p.id
$res = $form.showdialog()
} while ($res -ne 'No')