UPDATED-STATEMENT: 20181118@205016@SUN A suggestion was made to manually focus the Virtual Desktop of my choice, but this eliminates me from doing other tasks on another Virtual Desktop. Still waiting for a valid take-care-ofitself solution.
UPDATED-STATEMENT: 20181118@210851@SUN There is no way autohotkey can work with moving apps to a specific Virtual Desktop on it's own without dll-calls (*see below*). In other words, the use of dll-files is required for the time being that is Windows language and not as convenient as an ahk-statement. Who knows, maybe ahk can implement this function someday to keep it lightweight and add it to their statement-library.
SPECIFICATION:
win10_1803_17134.407
autohotkeyahk_1.1.30.00_20180822

Скорость это все, если она влияет на вас, сидя на стуле перед экраном компьютера.

ПОЧЕМУ Я ИСПОЛЬЗУЮ AHK

Использование Autohotkey в Windows 10 для открытия часто используемых приложений, которые не будут дублировать открытие программы, если она уже запущена (IfWinNotExist). Затем переместите их туда, где я предпочитаю каждое приложение (WinMove). Я установил таймер (сон), потому что некоторые приложения открываются медленнее, чем другие (мне было бы интересно узнать, есть ли лучший способ сделать это). Мне нравится ахк за то, насколько он легок, но есть функции, связанные с Windows 10, которые не документированы, например, участие в виртуальном рабочем столе.

ПРОБЛЕМА

Проблема в том, что нет способа использовать WinMove для указания виртуального рабочего стола для win10, в котором запускается приложение. Поэтому я изо всех сил стараюсь запустить свой часто используемый frequentlyusedapps-script и перейти на другой виртуальный рабочий стол, чтобы одновременно открывать другие приложения. Это потому, что то, на чем я всегда фокусируюсь на Virtual Desktop, это то, на что мой часто используемый скрипт приложения будет перемещать окно.

ВОПРОС

Как заставить autohotkey переместить приложение на виртуальный рабочий стол по моему выбору? Я не думаю, что это возможно с помощью ahk-WinMove Если virtualdesktop-number не создан, сценарий, очевидно, не сможет переместить приложение, но это пока не моя задача. В противном случае я мог бы создать соответствующее количество виртуальных рабочих столов до запуска моего часто используемого скрипта apps. То, что я имею в виду, имея способ добиться этого с помощью ahk, - это чистый код ahk, а не ветвь / ветвь, которая, вероятно, не будет обновлена по неудачным причинам. Если это действительно должно происходить из разветвленного проекта, тогда давайте обсудим, какие элементы ahk они используют, чтобы задействовать Virtual Desktop для перемещения окон к определенному.

!^+o::
  IfWinNotExist, ahk_exe program1.exe
    Run "C:\Dir\program1.exe"
    WinWait, ahk_exe program1.exe
    WinMove, ahk_exe program1.exe,, 953, 61, 967, 1019
    TrayTip, openfrequentlyusedapps, ok, 1,
  IfWinNotExist, ahk_exe program2.exe
    Run "C:\Dir\program2.exe"
    WinWait, ahk_exe program2.exe
    WinMove, ahk_exe program2.exe,, -7, 61, 813, 516
    TrayTip, openfrequentlyusedapps, ok, 1,

РЕШЕНИЕ

  • Согласно @miroxlav, «у Autohotkey нет способа сделать это с их текущими утверждениями». Хотя это и не невозможно, но требует больше усилий, поскольку сейчас язык Windows использует ahk w/ dll-звонки.
    • Это поможет многим людям показать, как это работает.
НОТА

1 ответ1

2

Перейти с сочетаниями клавиш.

Внутри скрипта, когда вы последовательно запускаете свои приложения, в середине вашей последовательности просто переключитесь на следующий рабочий стол, отправив Ctrl+Win+:

;here you run and position your windows
Run app1
Move app1  'etc.
WinWait app1window   'wait until app window is open

;switch to next desktop*  (see note below the code)
Send ^#{Right}

;opening apps on next desktop
Run app2
Move app2  'etc.

*) Если у вас не подготовлен этот "следующий рабочий стол", отправьте Ctrl+Alt+D, чтобы создать и открыть его.

Дополнительные сведения см. В разделе « Сочетания клавиш виртуальных рабочих столов» в официальном списке сочетаний клавиш Windows.


Обновить:

Функциональность, относящаяся к другим рабочим столам по вашему запросу, в настоящее время отсутствует непосредственно в отчетах AHK. Вы можете достичь этого, используя вызовы DLL из AHK.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .