Autohotkey错误的击键发送到控制台

时间:2013-04-08 15:11:26

标签: console autohotkey keystroke sendinput

我正在尝试理解这个错误,我正在寻找一个工作区。

使用此脚本:

#NoEnv
#SingleInstance force
SendMode Input
;Alt+t to send keystrokes
!t::Send, /[]

它向所有窗口发送正确的击键 / [ ] 但Windows控制台(cmd)

其他信息:

  • 使用autohotkey v1.1.09.02
  • 使用英语美国键盘布局,它发送:' 9 0
  • 使用法语加拿大多语种键盘布局,它发送:é ^ ç

有什么能解决它的想法吗?

1 个答案:

答案 0 :(得分:4)

试试这个:

#NoEnv
#SingleInstance force
;SendMode Input
;Alt+t to send keystrokes
!t::Send, % chr(047) chr(091) chr(093)
Return

请告诉我它是否能解决您的问题。

发现这个:
我在我的系统上使用多种语言或键盘布局。为什么Send和Hotstrings有时会发错字符? 只要脚本的语言或键盘布局与活动窗口的布局不匹配,就会发生这种情况。要修复它,请通过托盘图标打开脚本的主窗口。当主窗口处于活动状态时,使用语言栏(或语言热键,如LeftAlt + Shift)更改脚本的语言/布局,使其与您当前键入的窗口的语言/布局相匹配。切换脚本的语言可以通过以下示例热键:

#l::   ; Win+L hotkey.
ListLines  ; Show the script's main window.
WinWaitActive ahk_class AutoHotkey
Send {LAlt down}{Shift}{LAlt up}  ; Switch to alternate language (keys must be in this format).
WinMinimize  ; Minimize the window found by WinWaitActive above.
return

更多信息:与所有应用程序一样,每个脚本都使用您的默认语言启动。如果默认值与活动窗口(发送击键的位置)的默认值不匹配,则键盘布局的差异可能会导致脚本发送的击键转换为意外的内容。

开:http://autohotkey.free.fr/docs/FAQ.htm#load