Saya menggunakan AHK 1.1 untuk mengatur CapsLock agar menjadi hotkey untuk mengaktifkan mode layar penuh ArtRage (mode workbench), saya melakukannya karena ArtRage tidak mengizinkan saya untuk menetapkan CapsLock sebagai hotkey, tapi saya cukup terbiasa menggunakan kunci itu untuk melakukan bahwa dalam banyak program, jadi saya pikir AHK dapat membantu saya, skrip saya sederhana:
; AR4 Toggle Workbench Mode
Capslock::
Send {Ctrl Down}{Right}{Ctrl Up} ; Ctrl Right is the key I set to toogle the workbench mode
WinActivate ahk_class ArtRage 3
return
#If
Script hanya berfungsi saat pertama kali saya mengaktifkan full screen mode
dan pertama kali saya menonaktifkannya, maksud saya dua kali pertama saya menekan CapsLock, tetapi kemudian tidak akan berfungsi kecuali saya mengklik secara manual pada jendela ArtRage. Jika saya melakukannya saya dapat menggunakan hotkey dua kali lagi. Jadi saya kira saya kehilangan fokus pada jendela. Saya juga sudah mencoba ini:
Capslock::
ControlSend,, {Ctrl Down}{Right}{Ctrl Up}, ahk_class ArtRage 3
WinActivate ahk_class ArtRage 3
return
#If
dengan hasil yang sama, saya google tentang hal itu, dan saya mencoba:
Capslock::
WinGet, AR4_id, ID, A
Send {Ctrl Down}{Right}{Ctrl Up}
ControlFocus,,%AR4_id%
return
tetapi tidak berhasil sama sekali. Semoga beberapa pengguna super bisa membantu saya dalam hal ini.
Diedit >>>>
Jadi Sekarang saya telah mencoba membuat skrip berfungsi jika WinExist DAN jika WinActive, apakah itu mungkin? Saya membuatnya seperti ini, tetapi tidak berhasil, CapsLock masih memanggil ArtRage di setiap aplikasi.
#If WinActive("ahk_class ArtRage 3")
#If WinExist("ahk_class ArtRage 3")
Capslock::
ControlSend, ahk_parent, {SC037}, ahk_class ArtRage 3 ; NumpadMult
return
#If
#If
EDIT2 >>>>
Saya mengubah kode seperti ini:
If WinActive("ahk_class ArtRage 3")
Capslock::
ControlSend, ahk_parent, {SC037}, ahk_class ArtRage 3 ; NumpadMult
return
#If
kode berfungsi, tetapi jika ArtRage terbuka (tidak fokus) dan saya di MS Word, jika saya tekan CapsLock tidak akan mengirim CapsLocktetapi akan mengirim "bekerja di benchmode" di Artrage meskipun tidak fokus.
PD: Sekarang NumpadMultadalah hotkey baru untuk masuk ke mode layar penuh (lebih mudah).
sumber
contrlsend
dalam kasus ini?#If WinExist
danahk_parent
. Tetapi sekarang masalahnya adalah bahwa jika artrage terbuka (bahkan tidak fokus) Capslock tidak akan memecat Capslock di aplikasi lain, melainkan itu akan melompat ke ArtRage dan tekan^{Right}
, sehingga aplikasi lain yang menggunakan Capslock untuk masuk dalam mode layar penuh tidak akan berfungsi , sampai saya menutup ArtRage atau Autohotkey. Apa yang dapat saya? Saya mengedit pertanyaan saya untuk menunjukkan apa yang saya lakukan, Terima kasih tingkat lanjut.Bagaimana dengan ini?
Terkadang menambahkan kode kunci dan menambah waktu tidur di antara penekanan / pelepasan kunci membantu.
sumber