我必须记录一个程序的会话,并希望Windows任务(1小时)运行一个.Bat文件以打“ F1”以停止记录,然后运行另一个.bat文件以关闭PC。 我没有关闭PC的问题,但可以关闭“ F1”。
这是我认为可以使用的代码。
@echo off
cd "C:\Program Files\ShareX"
Start "" /b sharex.exe
timeout /T 5 /nobreak >nul
%SendKeys% "{F1}"
timeout /T 5 /nobreak >nul
taskkill /IM sharex.exe /F
谢谢
答案 0 :(得分:0)
所以,如果我理解这个问题... 这将为您创建sendkey.vbs并在您的代码中运行它...
{对不起,我的受限英语}
@echo off & setlocal enabledelayedexpansion
set "_temp_vbs=%temp%\_temp_file_4vbs_.vbs"
>"!_temp_vbs!"^
(
echo/ Set WshShell = WScript.CreateObject^("WScript.Shell"^)
echo/ Set objShell = WScript.CreateObject^("WScript.Shell"^)
echo/ Wscript.Sleep 1500
echo/ objShell.AppActivate "sharex.exe"
echo/ Wscript.Sleep 1500
echo/ WshShell.SendKeys "({F1})"
)
cd /d "C:\Program Files\ShareX" & Start "" /b sharex.exe
timeout /t 3600 /nobreak && start "" /w "%Windir%\System32\wScript.exe" //nologo "!_temp_vbs!"
>nul 2>nul ((
tasklist | findstr /lic:"ShareX.exe"
) && (
timeout /t 5 /nobreak >nul & taskkill /f /im "ShareX.exe" & del /q /f "!_temp_vbs!"
) || (
call shotdown_pc.bat & exit /b
)) >nul 2>nul