标题: [系统相关] 批处理能不能判断CapsLock的状态 [打印本页]
作者: raozhao2008 时间: 2008-9-29 19:45 标题: 批处理能不能判断CapsLock的状态
本帖最后由 pcl_test 于 2016-9-26 13:29 编辑
p能不能判断CapsLock的状态:灯亮还是灯灭?
作者: pusofalse 时间: 2008-9-29 20:14
有一个取巧的方法,但必须要在CMD里手动输入运行,而不能双击运行。
作者: raozhao2008 时间: 2008-9-29 20:32 标题: 回复 2楼 的帖子
别买官司了,是什么巧法?
作者: pusofalse 时间: 2008-9-29 20:54
- @echo off&setlocal enabledelayedexpansion
- set "self=%~0"
- echo>tmp.x %self:~,1%
- fsutil file createnew temp 1 >nul 2>nul
- for /f "skip=1 tokens=3" %%a in ('fc /b temp tmp.x') do (
- set/a n=0x%%a
- if !n! geq 65 if !n! leq 90 (
- echo Caps Lock is on
- ) else (
- echo Caps Lock is off
- )
- goto :next
- )
- :next
- del temp,tmp.x
- pause
复制代码
输入中文或数字就OVER。
[ 本帖最后由 pusofalse 于 2008-9-29 21:12 编辑 ]
作者: raozhao2008 时间: 2008-9-29 21:24 标题: 回复 4楼 的帖子
运行之,怎么老是Caps Lock is on
而且,你说的输入中文或数字,是什么时候输入啊,没机会啊
作者: pusofalse 时间: 2008-9-29 21:29
我这里测试正常,如下测试信息:- C:\Documents and Settings\Administrator\桌面>type test.bat
- @echo off&setlocal enabledelayedexpansion
- set "self=%~0"
- echo>tmp.x %self:~,1%
- fsutil file createnew temp 1 >nul 2>nul
- for /f "skip=1 tokens=3" %%a in ('fc /b temp tmp.x') do (
- set/a n=0x%%a
- if !n! geq 65 if !n! leq 90 (
- echo Caps Lock is on
- ) else (
- echo Caps Lock is off
- )
- goto :next
- )
- :next
- del temp,tmp.x
- pause
- C:\Documents and Settings\Administrator\桌面>test
- Caps Lock is off
- 请按任意键继续. . .
-
- C:\Documents and Settings\Administrator\桌面>TEST
- Caps Lock is on
- 请按任意键继续. . .
复制代码
输入中文或数字就over 是说不能输入中文或数字,只能输入英文。
作者: zqz0012005 时间: 2008-9-29 21:46
不用第三方工具的话,用批处理自动判断应该无法做到
=====================================
原来楼主只是为了发送大写字母?
vbs函数UCase
ws.SendKeys UCase("hello")
作者: batman 时间: 2008-9-30 11:53
不用这么复杂吧:- @echo off
- set "code=a b c d e f g h i j k l m n o p q r s t u v w x y z"
- set /p str=请输入任一字母:
- for %%i in (%code%) do if "%str:~,1%" equ "%%i" goto end
- echo Caps Lock is on&pause>nul&goto :eof
- :end
- echo Caps Lock is off
- pause>nul
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |