2

У меня есть программа для рабочего стола (не Modern UI), которая запускается при запуске с использованием ключа реестра currentversion\run. Я хочу, чтобы это было первое, что увидит пользователь, однако он появляется только после того, как пользователь покидает Modern UI и переходит на рабочий стол или запускает приложение на рабочем столе.

Есть ли способ заставить его работать при запуске?

редактировать: дополнительная мысль: я написал программу, это можно сделать, если это было приложение Modern UI?

1 ответ1

0

Вы можете установить свою программу в качестве оболочки по умолчанию в Windows 8.

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="C:\Program Files (x86)\xx\xx\myprogram.exe"

или для текущего пользователя:

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="C:\Program Files (x86)\xx\xx\myprogram.exe"

Если это не работает, вам нужно добавить cmd.exe /C перед командой.
т.е. cmd.exe /C "C:\Program Files (x86)\xx\xx\myprogram.exe"

Это полностью обойдет интерфейс Metro, но вы потеряете все стандартные компоненты оболочки из проводника. (Не знаю, хотите ли вы этого). Вам нужно будет запустить обычную оболочку после выхода из программы. (explorer.exe не возвращает ваш рабочий стол, поэтому я не знаю (пока), как вернуть рабочий стол и метро)

(протестировано с Windows 8.1, поэтому я не знаю, возможно ли это в Windows 8)

Изменить: Вы также можете использовать «explorer.exe /select,explorer.exe» в качестве значения оболочки. Затем после входа в систему вы увидите метро на долю секунды, после чего вы получите свой рабочий стол (с экраном проводника ваших библиотек). Возможно, ваше автозапущенное приложение будет поверх этого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .