Я создал скрипт, который проверяет время простоя с помощью программы MousePos.exe
и возвращает ответ самому себе, чтобы выяснить, было ли какое-либо движение мыши. Это все работает нормально, однако каждый раз, когда запускается MousePos.exe
, он мигает на экране, и я хочу это скрыть. Я понятия не имею, как это сделать, я ожидал, что это будет довольно просто.
Мне посоветовали использовать метод Run
объекта WshShell
вместо объекта WshScriptExec
, но у меня нетИдея как это сделать и до сих пор читайте в ответе из EXE.
Function execStdOut(cmd)
Dim goWSH : Set goWSH = CreateObject("WScript.Shell")
Dim aRet: Set aRet = goWSH.Exec(cmd)
execStdOut = aRet.StdOut.ReadAll()
End Function
'wait 2 seconds for things to calm now
WScript.Sleep 2000
'get initial Mouse XY
MPOS = execStdOut("cmd /c C:\Windows\MousePos.exe")
WScript.Sleep 10000 '10 seconds
'set initial idle counter
Idle = 0
Do While forever = 0
OLD = MPOS
MPOS = execStdOut("cmd /c C:\Windows\MousePos.exe")
If OLD = MPOS Then
Idle = Idle + 1
If idle = 12 Then '12 x 10 seconds for 2 minute timeout
idle = 0
Set objShell = WScript.CreateObject("WScript.Shell")
objshell.Run "C:\Windows\IERestart_countdown.hta", 1, True
End If
Else
idle = 0
End If
WScript.Sleep 10000 ' 10 seconds
Loop