2

カスタマイズされたショートカットを含む Firefox を開くために使用するスクリプトがあり、ブラウザーを閉じると閉じます。最近、最初にそれを開いてショートカットを使用しようとすると、スクリプトがまだ実行されていても、スクリプトをリロードするまで機能しません。しばらくの間、スクリプトを何も変更していません。誰が何が起こっているのか教えてもらえますか?

ありがとう、エレン

Menu, Tray, Icon, C:\Program Files\Mozilla Firefox\firefox.exe


SetTitleMatchMode, 2

runwait C:\Program Files\Mozilla Firefox\firefox.exe, , max

IfWinExist ahk_class MozillaWindowClass
    Return
ExitApp

Return


#SingleInstance Force
#installKeybdHook
#Persistent


   Return

#ifWinActive Mozilla Firefox


^!b::send, ^+b

^b::send, ^d  ; bookmark page]

^n::send, ^t   ; open new tab

!c::send, ^w    ; close current tab

^d::send, ^!t  ; duplicate tab

^u::send, ^+t  ; undo close tab

!d::send, ^j  ; open downloads

^e::
MouseClick, left,  33, 44
Sleep, 100
MouseClick, left,  33, 230
Sleep, 100

return

^r::      ; recent pages
MouseClick, left,  79, 76

return

!a::   ; click on address bar
MouseClick, left,  368,  73

return

^q::   ; roboform
MouseClick, left,  864,  722

return

^BS::send, +{Backspace}  ; forward

Up::send, ^{+}    ;zoom in

Down::send, ^{-}    ;zoom in

::abc::about:config

#ifWinActive
4

1 に答える 1

0

あなたのスクリプトの問題は、スクリプトrunwaitがFirefoxを実行している現在のスレッドを停止させることです。

そのスレッドは、Firefox が閉じるのを待って「STILL WAITING」を表示します...その後、閉じると次の行がIfWinExist ahk_class MozillaWindowClass存在し、スクリプトがスキップされます。Exitapp

 

RunWait が待機状態にある間、ホットキー、カスタム メニュー項目、またはタイマーを介して新しいスレッドを起動できます。

 

一部のプログラムを使用RunWaitすると、実行中であってもすぐに復帰するように見える場合、これらのプログラムは別のプロセスを生成します。スクリプトの設定方法によっては、RunWait がこの待機状態に入るのを時々止めることができます。

また、オートホットキーはマルチスレッドではないため、新しいスレッドを起動できなくなります...


だから私はWinWaitCloseあなたが新しいスレッドを立ち上げることができるようなものを使うと言います

WinWaitClose が待機状態にある間、ホットキー、カスタム メニュー項目、またはタイマーを介して新しいスレッドを起動できます。

このようなもの:

Run, C:\Program Files\Mozilla Firefox\firefox.exe, , max
WinWait, ahk_class MozillaWindowClass
WinWaitClose  ; Wait for the exact window found by WinWait to be closed.
Exitapp

 

それが役に立てば幸い

于 2015-01-20T21:04:55.813 に答える