AutoHotKey no funciona con Outlook 2010

13

Creé un script AutoHotKey y lo compilé en un exe.

Luego ejecuté el exe y ejecuté Outlook 2010.

Cuando trato de usar mis teclas de acceso rápido que definí, aparece un error en la barra de estado que dice "Esta modificación no está permitida porque la selección está bloqueada".

He realizado algunas investigaciones y ese error parece estar vinculado con un final de Trail. Pero estoy en una computadora de trabajo y no estoy ejecutando una versión de prueba.

¿Hay alguna manera de arreglar esto?

aquí está mi archivo 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%
    }
}
Chris Watts
fuente
Otra sugerencia es que esto puede ocurrir si un documento está protegido. No sé si esto es relevante, pero ¿puedo darle una ruta para investigar?
Stuart McLaughlin
¿Por qué la "Entrada de modo de envío"? línea dos veces? ¿Es eso a propósito o fue solo un error de copiar y pegar?
sbtkd85
¿No está esto relacionado con la seguridad mejorada introducida por Microsoft a Outlook en 2003?
Sigo tropezando con esta pregunta aquí, y hay una cosa que siempre me viene a la mente: ¿por qué demonios no haces esta pregunta en el foro de AutoHotkey? Hay una gran experiencia allí para este tipo de problemas.
usuario 99572 está bien el
¿Ha verificado para asegurarse de que Outlook se ha activado? Puede verificar esto yendo a Archivo-> Ayuda.
cmorse

Respuestas:

1

No recibí su error, pero descubrí un posible punto de falla y otras dos cosas. Tal vez corrigiendo esos o al menos jugando con los parámetros.

Lista de verificación con controles relevantes

ctrlList = Acrobat Preview Window1,AfxWndW5,AfxWndW6,EXCEL71,MsoCommandBar1,OlkPicturePreviewer1,paneClassDC1,RichEdit20WPT2,RichEdit20WPT4,RichEdit20WPT5,RICHEDIT50W1,SUPERGRID1,SUPERGRID2,_WwG1

Eliminé todos los espacios, citando el documento relevante de Autohotkey:

Una lista de cadenas separadas por comas, cada una de las cuales se comparará con el contenido de Var para una coincidencia. Cualquier espacio o pestaña alrededor de las comas delimitadoras es significativo, lo que significa que son parte de la cadena de coincidencia. Por ejemplo, si MatchList se establece en ABC, XYZ, entonces Var debe contener ABC con un espacio final o XYZ con un espacio inicial para provocar una coincidencia.

Detección de ventanas

#IfWinActive - Microsoft Outlook ahk_class rctrl_renwnd32

La cosa "NUIDocumentWindow" no aparece cuando ejecuto el espía de la ventana. Lo mismo ocurre con la línea relevante dentro de la función de envío de claves:

IfWinActive, - Microsoft Outlook ahk_class rctrl_renwnd32
joweiser
fuente