В AutoHotKey я создал сценарий, который запускается при загрузке и вызывает сценарий «Productivity.ahk» всякий раз, когда я нажимаю ctrl + p. «Productivity.ahk» открывает для меня windows с Todoist и Toggl. Этот код работает отлично.
; Toggl
Run, "C:\Program Files (x86)\Google\Chrome\Application\chrome_proxy.exe" --profile-directory=Default --app-id=emhlbipdbnglohkhcmimglnngjlfoehc
; Todoist
Run, "C:\Program Files (x86)\Google\Chrome\Application\chrome_proxy.exe" --profile-directory=Default --app-id=geflgmhlcjjamienpgojogcbpjddhcme
WinWait, Toggl
WinRestore,
WinMove, , , 803, 0, 1126, 1080
WinWait, Todoist
WinRestore,
WinMove, , , -7, 0, 826, 1080
return
Однако я бы хотел, чтобы сценарий сначала проверил, может ли уже быть открыт более старый экземпляр этих windows. Я пытался добиться этого с помощью выражений «if» и «else», но это не сработало. В любом случае он по-прежнему открывает новые экземпляры. Есть ли кто-нибудь, кто знает, почему он ведет себя не так, как я ожидал?
; Todoist
if WinExist, Todoist
{
WinWait, Todoist
WinRestore,
WinMove, , , -7, 0, 826, 1080
}
else
{
Run, "C:\Program Files (x86)\Google\Chrome\Application\chrome_proxy.exe" --profile-directory=Default --app-id=geflgmhlcjjamienpgojogcbpjddhcme
WinWait, Todoist
WinRestore,
WinMove, , , -7, 0, 826, 1080
}
; Toggl
if WinExist, Toggl
{
WinWait, Toggl
WinRestore,
WinMove, , , 803, 0, 1126, 1080
}
else
{
Run, "C:\Program Files (x86)\Google\Chrome\Application\chrome_proxy.exe" --profile-directory=Default --app-id=emhlbipdbnglohkhcmimglnngjlfoehc
WinWait, Toggl
WinRestore,
WinMove, , , 803, 0, 1126, 1080
}
return