code:
var SLEEP_TIMEOUT = 200;
var WAIT_RUN_TIMEOUT = 20000;
var WshShell = new ActiveXObject("WScript.Shell");
var Drivers = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_SystemDriver where Name=\'Haspnt\'");
if ( Drivers.Count < 1 )
{
WshShell.Popup("HASP driver not installed", 0, "Error", 16);
WScript.Quit(2);
}
var e = new Enumerator(Drivers);
e.moveFirst();
var haspdrv = e.item();
var wait_time = 0;
while ( haspdrv.State != "Running" )
{
WScript.Sleep( SLEEP_TIMEOUT );
wait_time = wait_time + SLEEP_TIMEOUT;
if ( wait_time > WAIT_RUN_TIMEOUT ) break;
}
var Process = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("Select * from Win32_Process Where Name = 'rtcx.exe'");
if ( Process.Count < 1 )
{
if ( haspdrv.State == "Running" )
{
WshShell.Exec("C:\\Program Files\\AdAstra Research Group\\TRACE MODE 6 Runtime\\rtcx.exe D:\\Server\\Программа_оператора_0.dbb /fullscreen /hidemenu /run");
}
else
{
WshShell.Popup("Драйвер HASP не запущен. Обратитесь к системному администратору", 20, "Error", 16);
}
}
else
{
WshShell.Popup("Программа оператора уже запущена.\nНажмите Alt+Tab для ее поиска.", 10, "Осторожно!", 48);
}