标题: 批处理文件怎样映射键盘? [打印本页]
作者: liu12300123 时间: 2012-2-23 10:13 标题: 批处理文件怎样映射键盘?
比如说:设定10秒内,检测到键盘按下“E”则打开某网站、计算器、指定的文本“A.TXT”;检测到键盘按下“空格”则关闭已运行的指定程序(最好多个);检测到“Q”则启动“QQ”什么的 可否?
不知是否有高手解答下
作者: cjiabing 时间: 2012-2-23 10:50
请使用第三方!~在论坛第三方版块。
因为,第一,批处理不善于监控;第二,批处理不善于获得键盘操作。
当然,你想按下键盘就知道结果而无须enter也是可以的。
作者: liu12300123 时间: 2012-2-23 11:29
可以? 怎么弄? 第三方? 软件吗? VBS?
作者: liu12300123 时间: 2012-2-23 12:34 标题: 有高解答否?此题应该有难度····监控键盘指令
比如说:设定10秒内,检测到键盘按下“E”则打开某网站、计算器、指定的文本“A.TXT”;检测到键盘按下“空格”则关闭已运行的指定程序(最好多个);检测到“Q”则启动“QQ”什么的 可否?
不知是否有高手解答下 求解
作者: Perl 时间: 2012-2-23 13:08
回复 2# cjiabing
choice命令可以限时输入的吧?
作者: cjiabing 时间: 2012-2-23 13:13
回复 4# Perl
你说的限时和我说的不一样呢。批处理可以限时啊,用choice也得,用其他办法也得(搜索:按任意键和自动退出)。不过我从来没用过choice和shift,既然被淘汰了就不必用了。
作者: Perl 时间: 2012-2-23 13:22
回复 5# cjiabing
Vista和Windows7都是自带choice命令的,淘汰一词从何说起啊?
作者: cjiabing 时间: 2012-2-23 13:52
回复 6# Perl
没有过xp以上的,xp没有呢。看来是我淘汰了。
作者: cjiabing 时间: 2012-2-23 14:04
不要开那么多帖!~把标题的重心放在前面!~
作者: vsbat 时间: 2012-2-23 14:07
低级键盘钩子 WH_KEYBOARD_LL
最适合了~~~
作者: liu12300123 时间: 2012-2-23 14:26
求高手详解,偶只会模仿,还未超越·····
作者: liu12300123 时间: 2012-2-23 14:30
找到一个关于屏蔽的,不知运行程序和10秒内有效 怎么弄?- LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
- {
- BOOL fEatKeystroke = FALSE;
- PKBDLLHOOKSTRUCT p = NULL;
-
- if (nCode == HC_ACTION)
- {
- p = (PKBDLLHOOKSTRUCT) lParam;
- switch (wParam)
- {
- case WM_KEYDOWN:
- case WM_SYSKEYDOWN:
- case WM_KEYUP:
- case WM_SYSKEYUP:
- fEatKeystroke = (p->vkCode == VK_LWIN) ¦ ¦ (p->vkCode == VK_RWIN) ¦ ¦ // 屏蔽Win
- // 屏蔽Alt+Tab
- ((p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0)) ¦ ¦
- // 屏蔽Alt+Esc
- ((p->vkCode == VK_ESCAPE) && ((p->flags & LLKHF_ALTDOWN) != 0)) ¦ ¦
- // 屏蔽Ctrl+Esc
- ((p->vkCode == VK_ESCAPE) && ((GetKeyState(VK_CONTROL) & 0x8000) != 0));
- break;
- default:
- break;
- }
- }
-
- return (fEatKeystroke ? TRUE : CallNextHookEx(glhHook,nCode,wParam,lParam));
- }
复制代码
作者: ivor 时间: 2012-2-23 14:52
Hook 不太懂这方面的内容
作者: Perl 时间: 2012-2-23 20:52
回复 3# liu12300123
试试choice命令吧
作者: Perl 时间: 2012-2-23 21:41
choice命令不满足要求吗?
作者: vsbat 时间: 2012-2-24 08:01
找到一个关于屏蔽的,不知运行程序和10秒内有效 怎么弄?
liu12300123 发表于 2012-2-23 14:30
运行程序 就拦截指定按键然后 ShellExecute/CreateProcess
设置延时就拦截指定按键 然后 SetTimer
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |