Пакет: запуск приложения не отображает графический интерфейс

Я пытаюсь запустить самописное приложение autoit под названием "KeyShortcuts.exe" используя пакет под названием "launchMacros.bat". Это приложение предоставляет сочетания клавиш для различных вещей и включает в себя графический интерфейс, который показывает мне доступные сочетания клавиш.

запускаем Macros.bat:

start "MyMacros" "M:\applications\AutoIt\KeyShortcuts.exe"

Приложение запускается, и я могу использовать все ярлыки, но я не вижу графический интерфейс.

Если я запускаю приложение напрямую (двойной щелчок на KeyShortcuts.exe), все работает нормально.

Я также попытался запустить приложение с помощью runas:

runas /user:REQUIREDUSERNAME /savecred "M:\applications\AutoIt\KeyShortcuts.exe"

Та же проблема здесь. Даже правый щелчок -> «Запуск от имени администратора» не работает.

Какие-либо предложения?


person Martin Brandl    schedule 27.01.2012    source источник
comment
Я думаю, вам следует уточнить, что START происходит из AutoIt, а не из пакета Windows, поскольку это разные вещи (возможно, упомяните AutoIt в своем заголовке). Ответы, которые публикуются, предполагают последнее из-за этой двусмысленности.   -  person Stephen Quan    schedule 27.01.2012
comment
Хорошо, не хватает некоторых деталей. Я не уверен, что, возможно, некоторые разъяснения о том, что такое MyMacros в вашем сценарии и что на самом деле делает ваше приложение KeyShortcuts.exe. Если вы можете предоставить здесь упрощенную версию, чтобы поделиться ею, это поможет нам лучше изучить вашу проблему.   -  person Stephen Quan    schedule 27.01.2012
comment
@BicycleDude "MyMacros" — это параметр заголовка для команды START.   -  person aphoria    schedule 27.01.2012
comment
Потому что вы используете AutoIt. Пробовали ли вы использовать сценарий AutoIt, который вызывает приложение AutoIt KeyShortcuts.exe?   -  person Stephen Quan    schedule 27.01.2012
comment
Вы скомпилировали скрипт с консольным выводом? Попробуйте, возможно, это поможет вам при запуске из cmd.   -  person Samoth    schedule 30.01.2012


Ответы (2)


Если ваш пакетный файл находится в другом каталоге, чем KeyShortcuts.exe, вам может потребоваться указать начальный каталог, используя параметр /D для START.

Как это:

START "MyMacros" /D "M:\applications\AutoIt" "M:\applications\AutoIt\KeyShortcuts.exe"
person aphoria    schedule 27.01.2012
comment
Это хороший совет, я проверю это в понедельник (когда вернусь на работу). - person Martin Brandl; 27.01.2012
comment
Да, это оно. Я использую относительные источники для некоторых изображений графического интерфейса в своем приложении. Большое спасибо. - person Martin Brandl; 30.01.2012

Каждый пакетный файл, запущенный из графического интерфейса Windows, создает новое окно консоли, запускает пакетный файл и закрывает его. Если вам нужно, чтобы это было по-другому, есть несколько способов:

  1. Создайте ярлык для CMD /K YOURBATCHFILE.BAT
  2. Добавьте паузу в ваш BAT-файл

Вот демонстрация метода 1:

  1. Создать > Ярлык
  2. Введите расположение элемента: C:\Windows\System32\CMD.EXE.
  3. Введите имя для этого ярлыка: InsertYourNameHere
  4. Нажмите Готово
  5. Щелкните правой кнопкой мыши ярлык и перейдите в свойства.
  6. Измените цель на: C:\Windows\System32\CMD.EXE /K "InsertYourBatchFileName.BAT"
  7. Нажмите ОК

Готово, теперь у вас есть ярлык, который открывает новое окно консоли и оставляет его открытым, пока ir запускает ваш пакетный файл.

person Stephen Quan    schedule 27.01.2012
comment
Спасибо за Ваш ответ. Но я все еще не вижу изображения клавиатуры. - person Martin Brandl; 27.01.2012
comment
@jisaak вы пробовали использовать мой CMD.EXE /K в своем BATCH-файле вместо использования START / RUNAS? - person Stephen Quan; 27.01.2012