AVanti 473
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Aleksandr N Цитата: Но не понял куда именно положить этот скрипт, в какую парку и что нужно сделать чтобы этот скрипт выполнился при закрытии... | 1) В package.ini в раздел [BuildOptions], добавляете параметр: ProcessExternalNameBehavior=Original 2) Пересобираете сборку, стартуете, закрываете, идёте в диспетчер задач, и находите настоящее имя зависшего процесса. Если после этого всё равно непонятно, какой процесс повесил песочницу, программа Unlocker Вам в помошь (есть на просторах сети). 3) Делаете пустой текстовый файл. 4) В него помещаете такой вот скрипт, Код: Function OnFirstParentExit Dim objWMIService, objProcess, colProcessList Dim strComputer strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'Notepad.exe'") For Each objProcess in colProcessList objProcess.Terminate() Next End Function | Вместо 'Notepad.exe', вписываете имя екзешника Вашего зависшего процесса. 5) Сохраняете текстовый файл с расширением .vbs (назвать можно как угодно) 6) Кладёте файл скрипта в корневую папку Вашего проекта (рядом с Package.ini) и снова всё пересобираете. Вот так это всё и работает. Если процесс больше не висит - победа. Если нет, есть ещё пара вариантов скриптов (искать здесь на форуме), либо, проблема сложнее чем кажется... | Всего записей: 366 | Зарегистр. 08-11-2015 | Отправлено: 13:38 17-08-2016 | Исправлено: AVanti 473, 13:39 17-08-2016 |
|