使用 Batch 或 PowerShell 检查 mouse\keyboard 是否处于活动状态

Check if mouse\keyboard is active using Batch or PowerShell

这个问题我找了很久,一个答案也没有。

是否可以仅使用 BatchPowerShell 脚本来检查我的鼠标或键盘是否正在使用(鼠标当前正在移动或正在按下按键)?如果是,如何?

关于鼠标移动,你可以检查指针的位置,并计算是否随时间发生变化。

$p1 = [System.Windows.Forms.Cursor]::Position
Start-Sleep -Seconds 5  # or use a shorter intervall with the -milliseconds parameter
$p2 = [System.Windows.Forms.Cursor]::Position
if($p1.X -eq $p2.X -and $p1.Y -eq $p2.Y) {
    "The mouse did not move"
} else {
    "The mouse moved"
}

至于按键,您可能想尝试使用 get-keystroke script(它基本上是一个键盘记录器)的类似技术。