...

Как при входе в Windows запустить только одну программу

Как запускать программу на окне входа пользователя Windows?

Как запускать программу на окне входа пользователя Windows?

Есть способ, когда переименовывается sethc.exe под cmd.exe, таким образом можно открывать любую программу на окне входа. (https://ru.wikihow.com/активировать-командною-стро.

Но это дыра, она на последних версиях закрыта или будет где-то закрыта.

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

  • Вопрос задан более трёх лет назад
  • 172 просмотра

Комментировать
Решения вопроса 1
VoidVolker @VoidVolker
Разработчик ПО / Инженер

О, вот тут есть ньюансы на самом деле и надо порядочно кода написать. Вот примерно вот так: https://github.com/VoidVolker/Windows-logon-service — написал пару лет назад. Недели две где-то копался в гугле как это все запилить.
Основная сложность тут в системе безопасности, которая запускает службы, логин и пользователя в разных профилях. Поэтому просто запуск приложения из сервиса приведет лишь к запуску этого приложения в том же профиле, при этом ни пользователь ни логон этого приложения не увидят. Поэтому надо запускать приложение хитрым способом от имени другого профиля. А, еще одна проблема в сетевом доступе — доступа к сети у системных сервисов нет (сетевые сервисы запускаются посла загрузки профиля пользователя), но в данном случае у запускаемого приложения есть доступ к сети. Все остальные детали — в коде.

Ответ написан более трёх лет назад
Нравится 2 5 комментариев
Иван @iZnatOk Автор вопроса

Спасибо, но скилл программирования у меня пока что очень низок. С наскоку не разобрался, что там к чему. По идее, если просто заменить в LogonUI.cs строки:

static readonly string LogonUIexe = "LogonUI.exe"; static readonly string logonPath = @"C:\Windows\System32\" + LogonUIexe;

заменить на свои, после компиляции, будет работать?

VoidVolker @VoidVolker

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

5c67243b4f6cb084797784.png

Из интереса попробовал с помощью Process Hacker запустить cmd:

Работает, единственное приходится alt-tab нажимать, чтоб картинка входа не закрывала
C SessionId = 0 не прокатывает, т.е. без активной сессии такой способ скорее всего работать не будет.
Или будет работать с SessionId = 0 без активных сессий (подозреваю что должно совпадать с текущей сессией winlogon.exe)

VoidVolker @VoidVolker

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

Добавить приложение для автоматического запуска при начальной загрузке Windows 10

Facebook LinkedIn Электронная почта

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

Как настроить в Windows запуск только одной программы при входе в систему.

Помощник Админа > Blog > Windows & Linux > Windows > Как настроить в Windows запуск только одной программы при входе в систему.

Данный способ чаще всего необходим в случаях, когда нужно организовать рабочее место с использованием только одной программы, без возможности использования других программ Windows.

1. Настройка автозапуска программы как оболочка системы.

Например, запуск только программы для просмотра камер видеонаблюдения, запуск только 1с клиента, запуск только какой-нибудь CRM, которой достаточно для полноценной работы сотрудника.

1. Для этого переходим в ветку реестра по следующему пути:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

2. В правой части ветки находим строковый параметр Shell, у которого значение explorer.exe.

3. Необходимо заменить explorer.exe на пусть до программы, которую вы хотите запускать, например «C:\Program Files (x86)\1cv8\common\1cestart.exe» (пусть должен быть в двойных кавычках).

4. Дополнительно рекомендую отключить через локальные групповые политики компьютера, возможность запустить какую-либо программу или оболочку explorer.exe, через CTR + ALT + Del — Диспетчер задач — Файл — Запустить новую задачу.

Отключается это в локальных групповых политиках Windows.
Переходим в «Локaльный компьютер \ Имя пользователя» → Конфигурaция компьютера → Aдминистрaтивные шaблоны → Системa → Вaриaнты действий после нaжaтия CTRL+ALT+DEL.
В правой части находим параметр «Удалить диспетчер задач» — этот пaрaметр политики зaпрещaет пользовaтелю зaпускaть диспетчер зaдaч задаём значение Включено.

2. Запуск только одной программы в Windows для определенного пользователя.

Если данную настройку необходимо сделать только для определенного пользователя в системе, то самым первым пунктом необходимо найти файл NTUSER.DAT пользователя и загрузить его в ветку реестра.
В дальнейшем мы повтором по инструкции из 1 способа все настройки.

1. Файл NTUSER.DAT пользователя, например SysAdmin находится в директории C:\Users\SysAdmin.
Если файл не находите — включите отображение скрытых файлов.

2. Далее запускаем реестр и переходим в раздел HKEY_LOCAL_MACHINE.
В меню реестра переходим «Файл — загрузить куст».
Появится окно с выбором файла, где необходимо указать на NTUSER.DAT пользователя SysAdmin.

В появившемся окне укажите любое имя загружаемого куста реестра, например как имя пользователя SysAdmin.

Если при попытке загрузить куст реестра вы видите ошибку- «файл занят» — это означает, что сеанс пользователя активен — необходимо завершить сеанс пользователя SysAdmin.

3. Теперь В ветке реестра HKEY_LOCAL_MACHINE мы видим загруженный «раздел» с указанным выше именем.
Переходим в раздел

HKEY_LOCAL_MACHINE\SysAdmin\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

и снова находим строковый параметр «Shell«.

4. Далее повторяем с 2 пункта способа выше «Настройка автозапуска программы как оболочка системы.»

При подготовке материала использовались источники:
https://qna.habr.com/q/604771
https://support.microsoft.com/ru-ru/windows/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%BB%D1%8F-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8-%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B5-windows-10-150da165-dcd9-7230-517b-cf3c295d89dd