Chr*_*tts 13 autohotkey microsoft-outlook-2010
我创建了一个 AutoHotKey 脚本并将其编译为一个 exe。
然后我运行 exe 并运行 Outlook 2010。
当我尝试使用我定义的热键时,我在状态栏中收到一条错误消息,提示“由于选择已锁定,因此不允许进行此修改”。
我做了一些研究,错误接缝与 Trail 结尾联系在一起。但是我在工作计算机上,我没有在进行试用。
有没有办法来解决这个问题?
这是我的 ahk 文件
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SendMode Input ; superior speed and reliability.
SetTitleMatchMode 2 ;allow partial match to window titles
;********************
;Hotkeys for Outlook 2010
;********************
;As best I can tell, the window text ‘NUIDocumentWindow’ is not present
;on any other items except the main window. Also, I look for the phrase
; ‘ – Microsoft Outlook’ in the title, which will not appear in the title (unless
;a user types this string into the subject of a message or task).
#IfWinActive – Microsoft Outlook ahk_class rctrl_renwnd32, NUIDocumentWindow
y::HandleOutlookKeys("!hy", "y") ;calls archive macro
f::HandleOutlookKeys("^f", "f") ;forwards message
r::HandleOutlookKeys("^r", "r") ;replies to message
a::HandleOutlookKeys("^+r", "a") ;reply all
v::HandleOutlookKeys("^+v", "v") ;Move message box
+u::HandleOutlookKeys("^u", "+u") ;marks messages as unread
+i::HandleOutlookKeys("^q", "+i") ;marks messages as read (^q is read/unread toggle)
j::HandleOutlookKeys("{Down}", "j") ;move down in list
+j::HandleOutlookKeys("{Down}{Enter}", "+j") ;move down and select next item
k::HandleOutlookKeys("{Up}", "k") ;move up
+k::HandleOutlookKeys("{Up}{Enter}", "+k") ;move up and select next item
o::HandleOutlookKeys("^o", "o") ;open message
s::HandleOutlookKeys("{Insert}", "s") ;toggle flag (star)
c::HandleOutlookKeys("^n", "c") ;new message
/::HandleOutlookKeys("^e", "/") ;focus search box
.::HandleOutlookKeys("+{F10}", ".") ;Display context menu
#IfWinActive
;Passes Outlook a special key combination for custom keystrokes or normal key value, depending on context
HandleOutlookKeys( specialKey, normalKey ) {
;Activates key only on main outlook window, not messages, tasks, contacts, etc.
IfWinActive, – Microsoft Outlook ahk_class rctrl_renwnd32, NUIDocumentWindow, ,
{
;Find out which control in Outlook has focus
ControlGetFocus, currentCtrl
;MsgBox, Control with focus = %currentCtrl%
;set list of controls that should respond to specialKey. Controls are the list of emails and the main (and minor) controls of the reading pane, including controls when viewing certain attachments.
;Currently I handle archiving when viewing attachments of Word, Excel, Powerpoint, Text, jpgs, pdfs
;The control ‘RichEdit20WPT1' (email subject line) is used extensively for inline editing. Thus it had to be removed. If an email’s subject has focus, it won’t archive…
ctrlList = Acrobat Preview Window1, AfxWndW5, AfxWndW6, EXCEL71, MsoCommandBar1, OlkPicturePreviewer1, paneClassDC1, RichEdit20WPT2, RichEdit20WPT4, RichEdit20WPT5, RICHEDIT50W1, SUPERGRID1, SUPERGRID2, _WwG1
if currentCtrl in %ctrlList%
{
Send %specialKey%
;Allow typing normalKey somewhere else in the main Outlook window. (Like the search field or the folder pane.)
} else {
Send %normalKey%
}
;Allow typing normalKey in another window type within Outlook, like a mail message, task, appointment, etc.
} else {
Send %normalKey%
}
}
Run Code Online (Sandbox Code Playgroud)
我没有得到你的错误,但发现了一个可能的故障点和另外两件事。也许可以纠正这些,或者至少调整一下参数。
包含相关控制措施的清单
ctrlList = Acrobat Preview Window1,AfxWndW5,AfxWndW6,EXCEL71,MsoCommandBar1,OlkPicturePreviewer1,paneClassDC1,RichEdit20WPT2,RichEdit20WPT4,RichEdit20WPT5,RICHEDIT50W1,SUPERGRID1,SUPERGRID2,_WwG1
Run Code Online (Sandbox Code Playgroud)
我删除了所有空格,引用了相关的 Autohotkey 文档:
以逗号分隔的字符串列表,每个字符串都将与 Var 的内容进行比较以进行匹配。分隔逗号周围的任何空格或制表符都很重要,这意味着它们是匹配字符串的一部分。例如,如果 MatchList 设置为 ABC 、 XYZ ,则 Var 必须包含带有尾随空格的 ABC 或带有前导空格的 XYZ 才能导致匹配。
窗户检测
#IfWinActive - Microsoft Outlook ahk_class rctrl_renwnd32
Run Code Online (Sandbox Code Playgroud)
当我运行窗口间谍时,“NUIDocumentWindow”的东西不会出现。按键发送功能中的相关行也是如此:
IfWinActive, - Microsoft Outlook ahk_class rctrl_renwnd32
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2799 次 |
| 最近记录: |