标题: 【已解决】批处理能不能在按下如键盘上的“TAB”键位实现截图! [打印本页]
作者: yzzsjc2008 时间: 2009-4-16 08:08 标题: 【已解决】批处理能不能在按下如键盘上的“TAB”键位实现截图!
咨询问题:P处理能不能在按下如键盘上的“TAB”或某个键位实现截图!
我对这个P处理不懂,上次论坛巡查帮我写了个截取屏幕程序:- @echo off
- setlocal enabledelayedexpansion
- rem 指定保存截图的路径
- set ScFolder=C:\BatHome\Batcher
- rem 规定指定截图3个小时
- set hours=3
- set /a minutes=hours*60
- set count=1
- :LoopPrtSc
- nircmd cmdwait 60000 savescreenshot "%ScFolder%\screenshot_!count!.jpg"
- if !count! equ %minutes% (
- goto :eof
- ) else (
- set /a count+=1
- goto :LoopPrtSc
- )
复制代码
我事后用在CS这个游戏上发现个问题,我要对CS比赛成绩进行截图,发现要按下TAB键位才能显示截图上比赛成绩!如果没按,就是截图的整个屏幕,见不到比赛比分!
不知道这个功能能不能用P处理实现。问了下自己的朋友,都没一个人能回答上来。自己GOOGLE也搜不来!还请帮忙!
QQ:88473021
e-mail:windowsover@hotmail.com
[ 本帖最后由 yzzsjc2008 于 2009-4-19 19:43 编辑 ]
作者: Batcher 时间: 2009-4-16 11:59
- @echo off
- setlocal enabledelayedexpansion
- rem 指定保存截图的路径
- set ScFolder=C:\BatHome\Batcher
- rem 规定指定截图3个小时
- set hours=3
- set /a minutes=hours*60
- set count=1
- :LoopPrtSc
- nircmd sendkey 0x9 press
- nircmd cmdwait 60000 savescreenshot "%ScFolder%\screenshot_!count!.jpg"
- if !count! equ %minutes% (
- goto :eof
- ) else (
- set /a count+=1
- goto :LoopPrtSc
- )
复制代码
[ 本帖最后由 Batcher 于 2009-4-16 21:29 编辑 ]
作者: yzzsjc2008 时间: 2009-4-16 19:59
哈哈,明白了怎么用复制代码
作者: Batcher 时间: 2009-4-16 21:31
代码见2楼。
论坛有nircmd中文帮助文档,下次遇到问题建议先自己尝试解决一下。
http://bbs.bathome.net/thread-2992-1-1.html
作者: 9zhmke 时间: 2009-4-17 10:37
如果是使用在游戏中建议不要使用批处来来实现类似目标,批处理的优点是方便、不用什么工具就可以有使用和编辑环境;但缺点是CPU占用和其它程序相比往往偏高,还是用其它成品软件吧。
作者: Batcher 时间: 2009-4-17 12:20 标题: 回复 5楼 的帖子
能否给个实际的例子和数据来说明2楼的批处理代码比哪个“其它程序”更加消耗系统资源?
作者: yzzsjc2008 时间: 2009-4-17 18:56
复制代码
以上是我搜出来的东西!应该是VB下面的键盘键位表示方法!BAT不知道用的是哪个?那里可以查到?
2楼巡查给我写的代码中的这一行:复制代码
我看了 NirCmd v2.20 Copyright (c) 2003 - 2008 Nir Sofer 帮助文档中文译本
中的- sendkey sendkey [Key] [press | down | up]
-
- 向系统发送击键命令。操作系统会按照执行,就好像用户真的按压了键盘上指定键一样。
- 参数[key]指定虚拟键代码(如:0x2e代表delete键),或者作为下列预设值之一:a - z 和 0 - 9(对应字母数字键),F1 - F24 (对应Fxx键), shift, ctrl, alt, enter, esc。
- 第二个参数指定了指定键的操作:'press', 'down',或者 'up'。 对每一个down操作,还应该添加up操作。
-
- 在下面的脚本例子中,系统会执行就好像用户按了Shift+Ctrl+Esc一样 (会显示任务管理器):
- sendkey shift down
- sendkey ctrl down
- sendkey esc down
- sendkey shift up
- sendkey ctrl up
- sendkey esc up
-
- 更多例子:
- sendkey a press
- sendkey f10 press
- sendkey enter press
- sendkey 0x2e press
复制代码
上面的0*9是不是代表TAB键位?
我想说的是当CS游戏运行的时候,按下TAB键位能显示比赛成绩,但是用2楼程序执行的时候可能触发了TAB键位,但是在游戏全屏的时候这个TAB键位是不是不行了,我测试了好象截图还是没有比赛成绩显示,我判定是是没生效还是什么情况,我也不清楚!
望指教!
QQ:88473021
e-mail:windowsover@hotmail.com
[ 本帖最后由 yzzsjc2008 于 2009-4-17 19:12 编辑 ]
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |