Kód: Vybrat vše
'**********************************************
'* Skript kontrolního spouštění programů *
'* Vytvořeno pro PC-HELP *
'**********************************************
'* Etienn@Script v.1.0 (c) 2020 *
'**********************************************
Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strList, WshShell, Fso
Const ADC = "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" 'Spousteny program
Const ADCren = "c:\Program Files (x86)\Google\Chrome\Application\chrome.bak" 'Prejmenovany exe
Const Proc = "notepad.exe" 'kontrolovany proces
Set Fso= CreateObject("Scripting.FileSystemObject")
' Prvni spusteni - kontrola jmena
If (Fso.FileExists(ADC)) Then
Fso.MoveFile ADC, ADCren
End If
WScript.Sleep 200
' Kontrola procesu
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery _
("Select * from Win32_Process")
For Each objProcess in colProcess
If objProcess.Name = Proc Then Negativ
Next
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Fso.MoveFile ADCren, ADC
WScript.Sleep 200
WshShell.Run Chr(34) & ADC & Chr(34), 1, True
Fso.MoveFile ADC, ADCren
Set WshShell = Nothing
Set objWMIService = Nothing
Set colProcess = Nothing
Set Fso= Nothing
WScript.Quit
' Negative
Sub Negativ
MsgBox "Program nelze spustit!" & vbcrlf & "Detekován proces: " & objProcess.Name ,vbOKOnly + vbCritical, "UPOZORNĚNÍ!"
Set objWMIService = Nothing
Set colProcess = Nothing
Set WshShell = Nothing
Set Fso= Nothing
WScript.Quit
End Sub
Text zkopíruj, vlož do notepadu a pojmenuj třeba Launcher.vbs, ulož.
Launcher po spuštění zkontroluje přítomnost chrome.exe, pokud ho najde, přejmenuje ho na chrome.bak. Tím je zajištěno první přejmenování.
Dále otestuje, zda je v paměti přítomen proces notepad.exe. Pokud ho zjistí, vypíše hlášku. Pokud notepad v paměti není, přejmenuje chrome.bak na chrome.exe a spustí ho.
Dále čeká na ukončení programu chrome.exe. Jakmile se program ukončí, přejmenuje chrome.exe na chrome.bak a ukončí se.
Kontrolovaný proces a program jsou uloženy v Const, můžeš si je přepsat dle libosti.
Možná nástraha je v právech, systém nemusí dovolit přejmenování souboru ve složce Program files. To lze řešit:
1. Vytvořit link na laucher, ve vlastnostech linku nastavit vyšší práva (spustit jako správce).
2. Pravoklik na .exe spouštěného programu, záložka zabezpečení a pro sebe nastavit práva na Full Control (úplné řízení).