#VoiceAttack restart by SemlerPDX May2020/Aug2020 #uses Windows Task to launch VoiceAttack as Admin while bypassing UAC #current task is set to ensure Logitech G933 is set as input device, to my ".Malcolm for VAS90" profile #Find complete instructions for Launching VoiceAttack as Admin under High UAC Settings with no UAC Prompt here: # https://forum.voiceattack.com/smf/index.php?topic=3517.msg16179 # Launch VoiceAttack if not running if (!(Get-Process -Name VoiceAttack*)) { clear # Process Begin $bTimeDown = 3 for($b=$bTimeDown; $b -gt -1; $b--) { write-host "Starting VoiceAttack in $($b) seconds..." start-sleep -seconds 1 clear } write-host "$(Get-Date) - Launching VoiceAttack to .Malcolm for VAS90..." start-sleep -seconds 1 if (!(Get-Process -Name VoiceAttack*)) { Start-ScheduledTask -TaskName "VAnoUACg933" } } # Delayed Monitor Start $dTimeDown = 15 for($d=$dTimeDown; $d -gt -1; $d--) { write-host "Starting Crash Monitor for VoiceAttack in $($d) seconds..." start-sleep -seconds 1 clear } write-host "$(Get-Date) - Monitoring VoiceAttack for crashes..." # VoiceAttack Crash Monitor Loop do { start-sleep -seconds 1 if (!(Get-Process -Name VoiceAttack*)) { clear # Crash Handle Start $sTimeDown = 4 for($s=$sTimeDown; $s -gt -1; $s--) { write-host "$(Get-Date) - .Malcolm for VAS90 has crashed VoiceAttack.... Restarting in $($s) seconds..." start-sleep -seconds 1 clear } write-host "$(Get-Date) - Launching VoiceAttack to .Malcolm for VAS90..." start-sleep -seconds 1 if (!(Get-Process -Name VoiceAttack*)) { Start-ScheduledTask -TaskName "VAnoUACg933" } clear # Delayed Monitor Start $rTimeDown = 15 for($r=$rTimeDown; $r -gt -1; $r--) { write-host "Starting Crash Monitor for VoiceAttack in $($r) seconds..." start-sleep -seconds 1 clear } write-host "$(Get-Date) - Monitoring VoiceAttack for crashes..." } } while ($true)