2014-07-22 2 views
2

Я пытаюсь выяснить способ открытия программ SAS в новых экземплярах Enhanced Editor по умолчанию при нажатии.Открытая программа SAS в новом экземпляре

Вопрос был asked раньше, но не повезло.

This paper описывает способ открытия программы с помощью Enhanced Editor. Полная команда:

"C:\PROGRA~1\SASHome\SASFOU~1\9.3\core\sasexe\SASOACT.EXE" action=Open 
datatype=SASFile filename="%1" progid=SAS.Application.903 

автор объясняет, что:

sasoact.exe программа используется для запуска автоматизации сеанса OLE в SAS. Автоматизация - это механизм через , который одним приложением Windows может управлять программным обеспечением другого приложения. Когда вы дважды щелкните файл SAS , sasoact.exe проверяет, работает ли уже существующий сеанс автоматизации OLE SAS. Если нет, тогда он вызывает сеанс автоматизации OLE SAS. После того, как активен сеанс сервера автоматизации SAS , любые дальнейшие вызовы от sasoact.exe обрабатываются существующим сеансом SAS вместо нового сеанса SAS .

Я предполагаю, что только один сеанс OLE полезен так или иначе, но это очень раздражает, когда вам нужно вручную открывать новый экземпляр EE каждый раз, когда вы хотите запускать несколько заданий. Не говоря уже о том, что sasoact нацеливается на первый сеанс, и если задание уже выполняется на этом сеансе, ваша программа не откроется.

Есть ли способ напрямую запросить новый экземпляр сеанса OLE или, возможно, «трюк»sasoact.exe не видеть открытые сеансы?

[EDIT]Слишком плохо, что он был закрыт как дубликат, потому что ответ существенно отличается от другого вопроса. Также это может помочь другим, которые не хотят запускать свои программы из пакетного файла. Вот ключ реестра, который работает:

"C:\Program Files\SAS\SASFoundation\9.2(32-bit)\sas.exe" -initstmt "dm 'whost;include ''%1'' ';" 

Я добавил его в HKEY_CLASSES_ROOT\SAS.Program.701\shell\Open New\command, так что теперь у меня есть аккуратный небольшой дополнительный вариант в моем раскрывающемся меню, которое эффективно открывает программы в новых сеансах по щелчку:

More sessions!

+0

Проверьте ответ Вася, с другой стороны, вопрос был задан - должен сделать трюк ;-) –

+0

Хм, я пропустил это. Попробуем как можно скорее. Danke – Pane

+1

Я не решаюсь закрываться как дуп, если это действительно не работает; работа с cmd сильно отличается от двойного щелчка. – Joe

ответ

0

аналогичный поток, показывающий использование пакетного файла, чтобы открыть программу SAS в новой сессии доступна here.

Если вы хотите открыть .sas программу в новой сессии, просто нажав на программу здесь, как это сделать:

Вы должны добавить запись в реестр. Будьте осторожны при работе с файлами реестра, всегда создавайте резервные копии своих записей.

Открыть редактор реестра (WIN + R> regedit).
В каталоге HKEY_CLASSES_ROOT\SAS.Program.701\shell\ создайте подкаталог со значимым именем (щелкните правой кнопкой мыши по shell> New> Key). Я назвал мой «Open New».В этом новом подкаталоге создайте еще один подканал с именем command. Теперь у вас должен быть путь, который выглядит следующим образом:
HKEY_CLASSES_ROOT\SAS.Program.701\shell\Open New\command
Здесь правой кнопкой мыши щелкните файл в файле реестра справа> Изменить и добавить следующее в поле данных значения (измените путь sas.exe если необходимо)

"C:\Program Files\SAS\SASFoundation\9.2(32-bit)\sas.exe" -NOTUTORIALDLG -initstmt "dm 'whost;include ''%1'' ';" 

Закройте редактор. Теперь вы должны иметь новый параметр, указанный в раскрывающемся меню правой кнопкой мыши на .sas программе:

enter image description here

Эта опция откроет программу с расширенной редактор новой сессии SAS.

Теперь, если вы хотите, чтобы он работал для двойного щелчка, я предполагаю, что вам нужно будет заменить значение в подкаталоге Open тем, что указано выше. Я этого не делал, и я не рекомендую его, дополнительного варианта в раскрывающемся списке достаточно для меня.

Смежные вопросы