推 fossil313: Pause::裡的那段Loop可以去掉12/09 11:23
→ fossil313: 查了一下sublime是個文字編輯軟體12/09 11:23
→ fossil313: 那Routine:裡應該是先判斷sublime存不存在12/09 11:24
→ fossil313: 再看要不要開啟sublime 另外視窗的標題也要確定名字12/09 11:25
→ fossil313: 可以用SetTitleMatchMode設定視窗標題是否符合的模式12/09 11:25
→ fossil313: 回上個視窗簡單一點的就直接alt + tab12/09 11:26
→ fossil313: 複雜一點就切換前先用WinGetTitle紀錄視窗標題12/09 11:26
→ SongIceFire: 先謝了 晚上會照著改看看12/09 11:53
經過fossil313的提醒以後
至少寫出可以使用的程式碼了
修改後如下
Pause::
clipboard =
send, ^c
ClipWait, 1
if FileExist("C:\Program Files\Sublime Text 3\sublime_text.exe")
{
Gosub, runSublime
}
else
{
MsgBox, , 注意, 請確定程式路徑是否正確
}
Return
runSublime:
{
Run, C:\Program Files\Sublime Text 3\sublime_text.exe
WinWait, Find Results - Sublime Text, , 0.5
if ErrorLevel = 0
{
Send, ^w
Gosub, doSearch
}
else
{
Gosub, doSearch
}
}
Return
doSearch:
{
Send, ^+f
Send, ^v
Send, !{Enter}
}
Return
之前提及的幾個需求
比方說回上個視窗因為有其他需求就不弄了
而多視窗多分頁這點還要在想一下
以上
謝謝
※ 編輯: SongIceFire (223.136.75.238), 12/11/2018 20:26:25
→ fossil313: 其實原本想說的是IfWinExist要放在Run前面 XD 12/12 01:08
→ fossil313: 不是檢查執行檔在不在 12/12 01:08
→ fossil313: 因為有的軟體重複執行會直接開新的視窗出來 12/12 01:10
→ SongIceFire: 是有想到ifwinexist 12/12 09:37
→ SongIceFire: 但多視窗外還有多分頁 12/12 09:37
→ SongIceFire: findresult可能在某視窗的某分頁中… 12/12 09:37