判断按键盘是否好使的开机自启动PowerShell脚本

一、ps1脚本

文件名:KeyboardCheck.ps1

powershell 复制代码
Function WaitForKeyPress($TimeoutInSeconds) {
    $KeyPressed = $false
    $deadline = (Get-Date).AddSeconds($TimeoutInSeconds)
    
    # 显示提示信息
    Write-Host "请在 $TimeoutInSeconds 秒内按下任意键(长时间没有检测到按下按键会被认为键盘可能有问题)" -ForegroundColor Blue

    # 使用 ReadKey 和 Sleep 来实现等待
    while ((Get-Date) -lt $deadline -and !$KeyPressed) {
        if ([Console]::KeyAvailable) {
            # 按键被按下了
            $key = [Console]::ReadKey($true)  # $true 表示不显示按键
            Write-Host "检测到按键 '$($key.KeyChar)' ($($key.Key))" -ForegroundColor Green
            $KeyPressed = $true
        } else {
            Start-Sleep -Milliseconds 100  # 延迟 100 毫秒
        }
    }

    if ($KeyPressed) {
        Write-Host "在 $TimeoutInSeconds 秒内按下了按键。"
    } else {
        Write-Host "$TimeoutInSeconds 秒内没有按键!你的键盘可能有问题!" -ForegroundColor Red
    }

    # 返回是否检测到按键的值
    return $KeyPressed
}

Function ExitWithCountdown {
    param (
        [int]$Seconds = 10  # 默认倒计时时间为10秒
    )

    Write-Host
    Write-Host "脚本将在 $Seconds 秒后自动关闭窗口" -ForegroundColor Magenta
    for ($i = $Seconds; $i -gt 0; $i--) {
        Write-Host -NoNewline "`r正在退出... {$i}秒后关闭窗口..."
        Start-Sleep -Seconds 1
    }
}

# 获取5秒内是否按下了任意键
$IsKeyPressed = WaitForKeyPress -TimeoutInSeconds 5

# 根据 $IsKeyPressed 的值调用 cmd.exe
if ($IsKeyPressed) {
    Start-Process -FilePath "cmd.exe" -ArgumentList "/c echo cmd_t" -NoNewWindow -Wait
} else {
    Start-Process -FilePath "cmd.exe" -ArgumentList "/c echo cmd_f" -NoNewWindow -Wait
}

# 延迟退出
ExitWithCountdown

二、开机自启动

打开路径:%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup

将下面的代码保存到名为start_KeyboardCheck.bat的文件中

(代码中的文件路径自行修改)

bash 复制代码
@echo off

echo.
echo ScriptPath:%~dp0

set "ps1Path=C:\MyScript\KeyboardCheck.ps1"

if exist "%ps1Path%" (
    echo File "%ps1Path%" exists
    PowerShell -NoLogo -ExecutionPolicy Bypass -File "%ps1Path%"
) else (
    echo File "%ps1Path%" does not exist, please check the path!
    pause
)

三、效果

四、有什么用

额*****,没啥用,配合这个知乎贴如何禁用笔记本自带键盘?,免得真的没键盘用😓

相关推荐
智塑未来2 天前
2026高性价比商用护眼显示器调研:飞利浦护眼技术与售后体系深度解析
计算机外设
移远通信2 天前
显示器-调试
单片机·嵌入式硬件·计算机外设
Legendary_0082 天前
LDR6020P:iPad 一体式皮套键盘 OTG 应用的核心引擎
ios·计算机外设·ipad
梦奇不是胖猫3 天前
Marvis保姆级教程:一个帮你点鼠标的 AI 管家
人工智能·计算机外设
YJlio3 天前
《Sysinternals实战指南》16.5 Ctrl2Cap 工具详解:把 Caps Lock 变成 Ctrl 的键盘改造与回退方法
linux·运维·服务器·网络·python·学习·计算机外设
七月稻草人3 天前
多人在线会议如何同时操作电脑?支持多鼠标协同的软件盘点
计算机外设
石头城的小石头3 天前
【从0到1的鼠标位置显示记录器,基于python环境pycharm下编译实施,最终打包为exe,欢迎交流】
python·目标跟踪·pycharm·计算机外设·鼠标
努力进修3 天前
拒绝远程协作“抢鼠标”!ToDesk多人协作深度实测:底层逻辑与实战技巧全解析
计算机外设·todesk
永远的WEB小白3 天前
Mouse Parallax 鼠标视差跟随,视觉差
计算机外设
阿猫的故乡4 天前
Vue组合式函数(Composables)从入门到实战:鼠标跟踪、请求封装、本地存储……全案例拆解
前端·vue.js·计算机外设