скрип который закрывает программу после извлечения usb накопителя
Привет всем, помогите написать скрипт который вручную запускается с usb накопителя, который при извлечении этого же накопителя закрывает процесс programm.exe
|
Цель этих действий? Что за программа? Зачем так?
|
Скрипт не слишком-то и нужен, имхо. Через шедулер отлавливаем нужное событие и вешаем на него taskkill с параметрами /F /IM "programm.exe"
Код события сходу не подскажу, нужно покопаться.
|
Спасибо за подсказки.
Идея такова, на накопителе пользователь вручную запускает батник, который запускает vmware_player.exe (который находиться на том же накопителе и вручную соединяется с удаленным хостом), в то же время батник проверяет наличие накопителя и как только накопитель извлекается то закрывается процесс vmware_player.exe и сам батник, задумка такова что бы на компьютере не осталось следов использования программы.
|
Цитата:
Цитата shnaps4u
запускает vmware_player.exe (который находиться на том же накопителе »
|
А извлечение накопителя не прекратит процесс vmware_player.exe автоматически, без всякого батника?
|
iccup.platoon@vk |
17-05-2014 12:02 2352413 |
Ну почему не VBS? =( Вы только посмотрите как тут всё красиво:
читать дальше »
Код:
On Error Resume Next
Set FSO = CreateObject("Scripting.FileSystemObject") 'объект типа "не обязательно вникать №1"
set WshShell = WScript.CreateObject("WScript.Shell") 'объект типа "не обязательно вникать №2"
colDrives = Split("F G H U I O P") 'множество вариантов через пробел, можно оставить одну
Set dictDrives = CreateObject("Scripting.Dictionary")
For Each Drive In colDrives
Set Drv = FSO.GetDrive(Drive & ":")
If Err.Number Then
dictDrives.Add Drive & ":", False
Else
If Drv.DriveType = 1 And Drv.IsReady Then
dictDrives.Add Drive & ":", True
Else
dictDrives.Add Drive & ":", False
End If
End If
Err.Clear
Next
' Бесконечный цикл
While True
For Each Drive In dictDrives.Keys
Set Drv = FSO.GetDrive(Drive)
If (Err.Number) Or (Drv.IsReady = False) Or (Drv.DriveType <> 1) Then
Flag = False
Else
Flag = True
End If
Err.Clear
Current = dictDrives.Item(Drive)
If Current <> Flag Then
If Current = True And Flag = False Then
'завершение работы программы
WshShell.Run "taskkill /f /IM programm.exe", 0 'именно тут выставляется имя программы
End If
dictDrives.Item(Drive) = Flag
End If
Next
WScript.Sleep 1000
Wend
|
Время: 07:47.
© OSzone.net 2001-