
В:Как добавить аргументы командной строки в закрепленное приложение и при этом сохранить соответствие?
В моих привычках/рабочем процессе ряд приложений «закреплен» на панели задач Windows, так что это Win-#
«всегда» переключает меня на нужное окно.
(Я пользователь emacs/ess для R, а не RStudio.) Если у меня уже открыт график, то это Win-2
немедленно переключит меня в окно графика. Однако, если график еще не завершен, то Win-2
нажатиеначинатьновый экземпляр этого приложения. В этом случае свойства значка следующие:
Цель:
C:\R\R-3.5.3\bin\x64\Rterm.exe
Начинать:
C:\R\R-3.5.3\bin\x64
Быстрая клавиша:
None
Бегать:
Normal Window
Я хочу настроить его так, чтобы непреднамеренное нажатие, Win-2
когда нет ни одного графика, не запускало новый экземпляр Rterm
. Одним из смягчающих шагов может быть Rterm
немедленный выход путем добавления --help
к цели, но это приведет к сбою сопоставления имени окна, и любые последующие открывающиеся графики не будут использовать эту позицию на панели задач.
Есть ли способ добавить аргументы, которые не нарушат сопоставление заголовков? Яникогданамерен запускать R с помощью этой иконки (всегда в emacs/ess), поэтому если есть способ сделать так, чтобы она никогда не запускала приложение (просто переключалась на нее, если оно создано в другом месте), это тоже было бы хорошо.
(Решение, скорее всего, будет ориентировано на Windows: я полагаю, R не имеет никакого контроля или влияния на этот процесс.)
решение1
На самом деле этот вопрос имеет мало общего с R
языком статистического программирования.
Это больше связано сМайкрософт Окна 10Операционная система.
Я думаю, что вы можете начать решать эту проблему, создав иконку на рабочем столе.
Здесь вы добавляете необходимые аргументы в командную строку ярлыка, представленного значком на рабочем столе.
Конечно, вы даете значку на рабочем столе имя.
И у вас есть ваш великолепный значок на рабочем столе, созданный для удовольствия пользователя.
Перетащите его на панель задач.
Нажимаете Windows+ 3, и ваше статическое программное приложение запускается в действие.
Теперь, анализируя вывод командной Rterm --help
строки, вы можете обнаружить переключатель, который не запускает новый экземплярRtermпри этом сюжета не существует.
ОБНОВЛЯТЬ:
Я думаю, что мы могли бы избежать получения помощиRtermЭксперт, @r2evans. Я придумал однострочник, который вы можете попробовать.
Просто замените вышеприведенный cmd.exe /c pause
однострочник на %SystemRoot%\System32\WindowsPowerShell\v1.0\PowerShell.Exe -Command "If ((Get-Process -Name RTerm) -Eq $()) {Exit-PSSession}"
однострочник.
Короче говоря, вместо того, чтобы разжечьМайкрософт Окна 10Препроцессор командной строки, он запускаетМайкрософт Окна PowerShellСреда сценариев оболочки, просто чтобы передать ей простой If
оператор, который проверяет, выполняется ли построение графика, и просто завершает работу, если графика нет.
Если есть график, то нажатием комбинации клавиш Windows+ 3вы просто переключаетесь на существующий график.