AutoHotKey tidak berfungsi dengan Outlook 2010

13

Saya membuat skrip Autohotkey dan mengkompilasinya ke exe.

Saya kemudian menjalankan exe dan menjalankan Outlook 2010.

Ketika saya mencoba menggunakan hotkey saya, saya mendefinisikan saya mendapat kesalahan di bilah status yang mengatakan "Modifikasi ini tidak diperbolehkan karena seleksi dikunci."

Saya telah melakukan beberapa penelitian dan kesalahan itu akan diikat dengan Trail ending. Tapi saya di komputer kerja dan saya tidak menjalankan percobaan.

Apakah ada cara untuk memperbaikinya?

ini file ahk saya

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
sumber
Saran lain adalah ini dapat terjadi jika dokumen dilindungi. Saya tidak tahu apakah ini relevan, tetapi dapat memberi Anda rute untuk menyelidiki?
Stuart McLaughlin
Mengapa "SendMode Input;" garis dua kali? Apakah itu disengaja atau hanya kesalahan salin dan tempel?
sbtkd85
Apakah ini tidak terkait dengan peningkatan keamanan yang diperkenalkan oleh Microsoft ke Outlook pada tahun 2003?
Saya terus tersandung oleh pertanyaan ini di sini, dan ada satu hal yang muncul di benak saya setiap saat: Mengapa Anda tidak menanyakan pertanyaan ini di forum AutoHotkey? Ada keahlian luar biasa di sana untuk masalah seperti ini.
pengguna 99572 baik-baik saja
Sudahkah Anda memeriksa untuk memastikan bahwa Outlook telah diaktifkan? Anda dapat memeriksa ini dengan masuk ke File-> Help.
cmorse

Jawaban:

1

Saya tidak mendapatkan kesalahan Anda tetapi menemukan satu kemungkinan titik kegagalan dan dua hal lainnya. Mungkin mengoreksi mereka atau setidaknya bermain-main dengan parameter.

Daftar periksa dengan kontrol yang relevan

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

Saya menghapus semua spasi, mengutip dari dokumen Autohotkey yang relevan:

Daftar string yang dipisahkan koma, yang masing-masing akan dibandingkan dengan konten Var untuk pertandingan. Setiap spasi atau tab di sekitar koma pembatas adalah signifikan, artinya mereka adalah bagian dari string kecocokan. Misalnya, jika MatchList diatur ke ABC, XYZ maka Var harus berisi ABC dengan spasi tambahan atau XYZ dengan spasi terkemuka untuk menyebabkan kecocokan.

Deteksi Jendela

#IfWinActive - Microsoft Outlook ahk_class rctrl_renwnd32

Masalah "NUIDocumentWindow" tidak muncul ketika saya menjalankan jendela mata-mata. Hal yang sama berlaku untuk baris yang relevan dalam fungsi pengiriman kunci:

IfWinActive, - Microsoft Outlook ahk_class rctrl_renwnd32
joweiser
sumber