[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

【已解决】批处理能不能在按下如键盘上的“TAB”键位实现截图!

咨询问题:P处理能不能在按下如键盘上的“TAB”或某个键位实现截图!

我对这个P处理不懂,上次论坛巡查帮我写了个截取屏幕程序:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. rem 指定保存截图的路径
  4. set ScFolder=C:\BatHome\Batcher
  5. rem 规定指定截图3个小时
  6. set hours=3
  7. set /a minutes=hours*60
  8. set count=1
  9. :LoopPrtSc
  10. nircmd cmdwait 60000 savescreenshot "%ScFolder%\screenshot_!count!.jpg"
  11. if !count! equ %minutes% (
  12.   goto :eof
  13. ) else (
  14.   set /a count+=1
  15.   goto :LoopPrtSc
  16. )
复制代码
我事后用在CS这个游戏上发现个问题,我要对CS比赛成绩进行截图,发现要按下TAB键位才能显示截图上比赛成绩!如果没按,就是截图的整个屏幕,见不到比赛比分!
不知道这个功能能不能用P处理实现。问了下自己的朋友,都没一个人能回答上来。自己GOOGLE也搜不来!还请帮忙!
QQ:88473021
e-mail:windowsover@hotmail.com

[ 本帖最后由 yzzsjc2008 于 2009-4-19 19:43 编辑 ]

  1. TAB   键   :vbKeyTab=9   
  2.    
  3.   MSDN:   
  4.    
  5.   键码常数   
  6.    
  7.    
  8.   键码   
  9.   常数   值   描述     
  10.   vbKeyLButton   1   鼠标左键     
  11.   vbKeyRButton   2   鼠标右键     
  12.   vbKeyCancel   3   CANCEL   键     
  13.   vbKeyMButton   4   鼠标中键     
  14.   vbKeyBack   8   BACKSPACE   键     
  15.   vbKeyTab   9   TAB   键     
  16.   vbKeyClear   12   CLEAR   键     
  17.   vbKeyReturn   13   ENTER   键     
  18.   vbKeyShift   16   SHIFT   键     
  19.   vbKeyControl   17   CTRL   键     
  20.   vbKeyMenu   18   菜单键     
  21.   vbKeyPause   19   PAUSE   键     
  22.   vbKeyCapital   20   CAPS   LOCK   键     
  23.   vbKeyEscape   27   ESC   键     
  24.   vbKeySpace   32   SPACEBAR   键     
  25.   vbKeyPageUp   33   PAGEUP   键     
  26.   vbKeyPageDown   34   PAGEDOWN   键     
  27.   vbKeyEnd   35   END   键     
  28.   vbKeyHome   36   HOME   键     
  29.   vbKeyLeft   37   LEFT   ARROW   键     
  30.   vbKeyUp   38   UP   ARROW   键     
  31.   vbKeyRight   39   RIGHT   ARROW   键     
  32.   vbKeyDown   40   DOWN   ARROW   键     
  33.   vbKeySelect   41   SELECT   键     
  34.   vbKeyPrint   42   PRINT   SCREEN   键     
  35.   vbKeyExecute   43   EXECUTE   键     
  36.   vbKeySnapshot   44   SNAP   SHOT   键     
  37.   vbKeyInser   45   INS   键     
  38.   vbKeyDelete   46   DEL   键     
  39.   vbKeyHelp   47   HELP   键     
  40.   vbKeyNumlock   144   NUM   LOCK   键     
  41.    
  42.    
  43.   A   键到   Z   键与其   ASCII   码的相应值'A'   到   'Z'   是一致的   
  44.   常数   值   描述     
  45.   vbKeyA   65   A   键     
  46.   vbKeyB   66   B   键     
  47.   vbKeyC   67   C   键     
  48.   vbKeyD   68   D   键     
  49.   vbKeyE   69   E   键     
  50.   vbKeyF   70   F   键     
  51.   vbKeyG   71   G   键     
  52.   vbKeyH   72   H   键     
  53.   vbKeyI   73   I   键     
  54.   vbKeyJ   74   J   键     
  55.   vbKeyK   75   K   键     
  56.   vbKeyL   76   L   键     
  57.   vbKeyM   77   M   键     
  58.   vbKeyN   78   N   键     
  59.   vbKeyO   79   O   键     
  60.   vbKeyP   80   P   键     
  61.   vbKeyQ   81   Q   键     
  62.   vbKeyR   82   R   键     
  63.   vbKeyS   83   S   键     
  64.   vbKeyT   84   T   键     
  65.   vbKeyU   85   U   键     
  66.   vbKeyV   86   V   键     
  67.   vbKeyW   87   W   键     
  68.   vbKeyX   88   X   键     
  69.   vbKeyY   89   Y   键     
  70.   vbKeyZ   90   Z   键     
  71.    
  72.    
  73.   0   键到   9   键与其   ASCII   码的相应值   '0'   到   '9'   是一致的   
  74.   常数   值   描述     
  75.   vbKey0   48   0   键     
  76.   vbKey1   49   1   键     
  77.   vbKey2   50   2   键     
  78.   vbKey3   51   3   键     
  79.   vbKey4   52   4   键     
  80.   vbKey5   53   5   键     
  81.   vbKey6   54   6   键     
  82.   vbKey7   55   7   键     
  83.   vbKey8   56   8   键     
  84.   vbKey9   57   9   键     
  85.    
  86.    
  87.   数字小键盘上的键   
  88.   常数   值   描述     
  89.   vbKeyNumpad0   96   0   键     
  90.   vbKeyNumpad1   97   1   键     
  91.   vbKeyNumpad2   98   2   键     
  92.   vbKeyNumpad3   99   3   键     
  93.   vbKeyNumpad4   100   4   键     
  94.   vbKeyNumpad5   101   5   键     
  95.   vbKeyNumpad6   102   6   键     
  96.   vbKeyNumpad7   103   7   键     
  97.   vbKeyNumpad8   104   8   键     
  98.   vbKeyNumpad9   105   9   键     
  99.   vbKeyMultiply   106   乘号   (*)   键     
  100.   vbKeyAdd   107   加号   (+)   键     
  101.   vbKeySeparator   108   ENTER   键(在数字小键盘上)     
  102.   vbKeySubtract   109   减号   (-)   键     
  103.   vbKeyDecimal   110   小数点   (.)   键     
  104.   vbKeyDivide   111   除号   (/)   键     
  105.    
  106.    
  107.   功能键   
  108.   常数   值   描述     
  109.   vbKeyF1   112   F1   键     
  110.   vbKeyF2   113   F2   键     
  111.   vbKeyF3   114   F3   键     
  112.   vbKeyF4   115   F4   键     
  113.   vbKeyF5   116   F5   键     
  114.   vbKeyF6   117   F6   键     
  115.   vbKeyF7   118   F7   键     
  116.   vbKeyF8   119   F8   键     
  117.   vbKeyF9   120   F9   键     
  118.   vbKeyF10   121   F10   键     
  119.   vbKeyF11   122   F11   键     
  120.   vbKeyF12   123   F12   键     
  121.   vbKeyF13   124   F13   键     
  122.   vbKeyF14   125   F14   键     
  123.   vbKeyF15   126   F15   键     
  124.   vbKeyF16   127   F16   键
复制代码
以上是我搜出来的东西!应该是VB下面的键盘键位表示方法!BAT不知道用的是哪个?那里可以查到?
2楼巡查给我写的代码中的这一行:
  1. nircmd sendkey 0x9 press
复制代码
我看了 NirCmd v2.20 Copyright (c) 2003 - 2008 Nir Sofer 帮助文档中文译本
中的
  1. sendkey        sendkey [Key] [press | down | up]
  2.          
  3.         向系统发送击键命令。操作系统会按照执行,就好像用户真的按压了键盘上指定键一样。
  4.         参数[key]指定虚拟键代码(如:0x2e代表delete键),或者作为下列预设值之一:a - z 和 0 - 9(对应字母数字键),F1 - F24 (对应Fxx键), shift, ctrl, alt, enter, esc。
  5.         第二个参数指定了指定键的操作:'press', 'down',或者 'up'。 对每一个down操作,还应该添加up操作。
  6.          
  7.         在下面的脚本例子中,系统会执行就好像用户按了Shift+Ctrl+Esc一样 (会显示任务管理器):
  8.         sendkey shift down
  9.         sendkey ctrl down
  10.         sendkey esc down
  11.                      sendkey shift up
  12.                      sendkey ctrl up
  13.                      sendkey esc up
  14.  
  15. 更多例子:
  16. sendkey a press
  17. sendkey f10 press
  18. sendkey enter press
  19. sendkey 0x2e press
复制代码
上面的0*9是不是代表TAB键位?
我想说的是当CS游戏运行的时候,按下TAB键位能显示比赛成绩,但是用2楼程序执行的时候可能触发了TAB键位,但是在游戏全屏的时候这个TAB键位是不是不行了,我测试了好象截图还是没有比赛成绩显示,我判定是是没生效还是什么情况,我也不清楚!
望指教!
QQ:88473021
e-mail:windowsover@hotmail.com

[ 本帖最后由 yzzsjc2008 于 2009-4-17 19:12 编辑 ]

TOP

回复 5楼 的帖子

能否给个实际的例子和数据来说明2楼的批处理代码比哪个“其它程序”更加消耗系统资源?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

如果是使用在游戏中建议不要使用批处来来实现类似目标,批处理的优点是方便、不用什么工具就可以有使用和编辑环境;但缺点是CPU占用和其它程序相比往往偏高,还是用其它成品软件吧。

TOP

代码见2楼。
论坛有nircmd中文帮助文档,下次遇到问题建议先自己尝试解决一下。
http://bbs.bathome.net/thread-2992-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

哈哈,明白了怎么用
  1. !有教学贴子!哈哈!
复制代码

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. rem 指定保存截图的路径
  4. set ScFolder=C:\BatHome\Batcher
  5. rem 规定指定截图3个小时
  6. set hours=3
  7. set /a minutes=hours*60
  8. set count=1
  9. :LoopPrtSc
  10. nircmd sendkey 0x9 press
  11. nircmd cmdwait 60000 savescreenshot "%ScFolder%\screenshot_!count!.jpg"
  12. if !count! equ %minutes% (
  13.   goto :eof
  14. ) else (
  15.   set /a count+=1
  16.   goto :LoopPrtSc
  17. )
复制代码

[ 本帖最后由 Batcher 于 2009-4-16 21:29 编辑 ]
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表