У меня в компании маленькие рабочие станции ~ 13 дюймов с сенсорным экраном.
Операционная система: Microsoft Windows Embedded Standard 6.1.7601 Service Pack 1 Build 7601
На рабочих станциях есть 5 кнопок, которые можно сопоставить для любой комбинации клавиш. (пример ctrl+alt+shift+[any key on the keyboard]
)
Есть две программы, которые должны выполняться на них, чтобы работники могли работать. Иногда работники случайно закрывают одну из программ, поэтому я решил найти решение этой проблемы, поскольку они не могут запускать программы самостоятельно.
Так что я:
- создал пакетный файл, который при запуске проверяет, запущены ли программы, если нет - запускает их;
- создал ярлык командного файла (в %appdata%\Microsoft\Windows\Start Menu\Programs
как предлагается здесь);
- добавлена комбинация клавиш (ctrl + alt + s);
- назначил одну из кнопок на рабочей станции привязке клавиш.
Теоретически это казалось хорошей идеей, но на практике привязка клавиш не работала должным образом.
После устранения неполадок я понял, что одна из программ вызывает проблему.
Давайте назовем программы A
и B
Когда B
или рабочий стол находятся впереди, комбинация клавиш работает правильно и запускает пакетный файл. A
работает в полноэкранном режиме. Поэтому, когда комбинация клавиш нажата, когда A
находится впереди, она не работает.
Поэтому я назначил комбинацию клавиш alt + tab
для другой кнопки, но тут возникает проблема.
Если я ранее нажимал ctrl + alt + S
когда A
находился впереди, впоследствии он не будет работать даже после того, как я переключился на B
или на рабочий стол.
Что делает его более интересным, так это то, что если я создаю другую комбинацию клавиш для другого файла ярлыка, скажем, ctrl + alt + D
и запускаю ее после того, как ctrl + alt + S
перестал работать, он исправит это и ctrl + alt + S
начнет работать снова в то время как B
или рабочий стол имеет фокус.
Пробовал это, не сработало.
Красный этот форум. Нет решения.
Я ищу решение / обходной путь / другой метод для решения этой проблемы.
Я не хочу устанавливать какие-либо сторонние программы. Однако я могу изменить настройки и реестр, если это необходимо.
РЕДАКТИРОВАТЬ:
Пакетный файл
echo off
tasklist /FI "IMAGENAME eq progB.exe" 2>NUL | find /I /N "progB.exe">NUL
if "%ERRORLEVEL%"=="1" (
cd C:\<progB path>
start /MAX progB.exe
)
tasklist /FI "IMAGENAME eq progA.exe" 2>NUL | find /I /N "progA.exe">NUL
if "%ERRORLEVEL%"=="1" C:\<progA path>
exit