Это работает как для Windows Embedded Standard 7, так и для Windows Embedded 8 Standard:
Обычно я устанавливаю Windows Embedded Standard со стандартной оболочкой. В WE8S это будет Metro UI. После завершения установки и настройки и успешного запуска вашего приложения я использую записи реестра для изменения приложения, запускаемого при запуске.
Настраиваемая оболочка для конкретного пользователя
В качестве примера, чтобы запустить медиаплеер VLC в качестве оболочки и воспроизводить медиафайлы в папке на d: \, например, d: \ media в непрерывном цикле, я использую следующее в файле .bat, работающем как администратор.
Это необходимо запускать, когда вы вошли в систему под пользователем, который запускает настраиваемую оболочку.
Создайте новый файл .bat:
- in Windows Explorer, Select "File" -> "New" -> "Text Document"
- Переименуйте "New Text Document.txt" в custom_shell.bat.
Вставьте ниже в файл
- Сохраните файл
Щелкните файл правой кнопкой мыши -> «Запуск от имени администратора».
c:\Windows\system32\reg.exe DELETE "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /f
c:\Windows\system32\reg.exe ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d explorer.exe
c:\Windows\system32\reg.exe ADD "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "c:\program files\vlc\vlc.exe -f --loop ""d:\media"""
c:\Windows\system32\reg.exe DELETE "HKLM\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\boot" /v Shell /f
c:\Windows\system32\reg.exe ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\boot" /v Shell /t REG_SZ /d "USR:Software\Microsoft\Windows NT\CurrentVersion\Winlogon"
pause
Это изменяет оболочку для ! Current User! (т.е. пользователя, вошедшего в систему) для запуска VLC.exe при входе в систему. (Я использую reg.exe, потому что в некоторых упрощенных установках regedit.exe может не входить)
Это означает, что вы по-прежнему можете получить доступ к полному пользовательскому интерфейсу при входе в систему в качестве пользователя-администратора (в безопасном режиме, если профиль администратора обычно отключен), поскольку оболочка для всех других пользователей по-прежнему является оболочкой проводника.
Запуск оболочки проводника из настраиваемой оболочки
Вы по-прежнему можете запустить оболочку проводника с пользовательским интерфейсом метро, когда пользователь с настраиваемой оболочкой вошел в систему. Чтобы запустить оболочку проводника от пользователя, запустившего оболочку VLC (настраиваемую):
- Запустите диспетчер задач (CTRL + SHIFT + ESC)
- Нажмите кнопку «Дополнительно» в нижней части диспетчера задач.
- Выберите «Файл» -> «Новая задача (Выполнить ...)» в строке меню.
- Введите "Explorer.exe" (это запустит службу проводника)
- Повторите вышеуказанные шаги еще раз (это запустит экземпляр Windows Explorer).
- Тогда пользовательский интерфейс Metro должен быть пригоден для использования.
Приложение Java как оболочка
Более того, чтобы запустить ваше Java-приложение, измените запись ниже в указанном выше .bat
от:
c:\Windows\system32\reg.exe ADD "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "c:\program files\vlc\vlc.exe -f --loop ""d:\media"""
в
c:\Windows\system32\reg.exe ADD "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "java [any other JVM options you need to give it] -jar "path\jar-file-name.jar""
Если ваше приложение Java не включает манифест, вышеуказанное не будет работать!
Попробуйте это (я этого не тестировал):
java -cp jar-file-name.jar full.package.name.ClassName
Вернуться в проводник (оболочка по умолчанию), т.е. отменить пользовательскую оболочку
Чтобы отменить изменения оболочки для пользователя, т.е. вернуться к исходным настройкам:
! Это должно быть выполнено, когда пользователь вошел в систему с помощью настраиваемой оболочки!
Создайте новый файл .bat:
- in Windows Explorer, Select "File" -> "New" -> "Text Document"
- Переименуйте "New Text Document.txt" в default_shell.bat.
Вставьте ниже в файл
- Сохраните файл
Щелкните файл правой кнопкой мыши -> «Запуск от имени администратора».
c:\Windows\system32\reg.exe DELETE "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /f
c:\Windows\system32\reg.exe ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d explorer.exe
c:\Windows\system32\reg.exe DELETE "HKLM\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\boot" /v Shell /f
c:\Windows\system32\reg.exe ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\boot" /v Shell /t REG_SZ /d "SYS:Microsoft\Windows NT\CurrentVersion\Winlogon"
c:\Windows\system32\reg.exe DELETE "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /f
pause
Автоматический вход пользователя:
Вы можете настроить Windows на автоматический вход в определенный профиль пользователя.
- Пуск> Поиск> netplwiz
- ИЛИ [Windows Key + R]> netplwiz
- Откроется окно «Учетная запись пользователя». Выделите учетную запись, которую вы хотите автоматически загружать при запуске Windows.
- Снимите флажок над окном «Пользователи должны ввести имя пользователя и пароль, чтобы использовать этот компьютер».
- Щелкните ОК.
- Вам будет предложено подтвердить операцию, введя пароль.
- Введите свой пароль, чтобы завершить изменение.
При следующем запуске Windows выбранная вами учетная запись пользователя будет загружена автоматически.
Что нужно учитывать
Поэкспериментируйте, но, если возможно, используйте тестовую среду. Если вы можете запустить оболочку, то может и кто-то другой. Используйте фильтр клавиатуры, чтобы отфильтровать известные комбинации клавиш и создать одну только вам и, возможно, специалистам по обслуживанию. Удалите права администратора для пользователя с помощью настраиваемой оболочки. Используйте унифицированный фильтр записи (или расширенный фильтр Райта / фильтр записи на основе файлов). Снимать защиту только при внесении изменений.
Большое СПАСИБО Шону Лимингу и его работе - он вдохновил на это.
Марк Бёмер, специалист по Windows Embedded, Южная Африка
person
user3592630
schedule
01.05.2014