Принудительное приложение WPF для активации при запуске Windows

У меня есть приложение WPF, установленное на Windows 10 Pro через ClickOnce и использующее MahApps.Metro.

Он установлен для запуска при загрузке Windows с учетной записью non-admin, у которой нет пароля. Режим планшета включен.

Я хочу, чтобы приложение всплывало в полноэкранном режиме, чтобы создать киоск- подобный опыт, однако при запуске при запуске приложение начинает сведен к минимуму . Чтобы уточнить, WindowState Максимизирован, но Windows не показывает его, вместо этого он показывает начальный экран. Он запускает полноэкранный режим при запуске вручную.

Вот какой код, однако я думаю, что это скорее проблема конфигурации, чем проблема с кодом:

Так я запускаю запуск при загрузке:

RegistryKey rkApp = Registry.CurrentUser.OpenSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionRun", true);
string startPath = Environment.GetFolderPath(Environment.SpecialFolder.Programs)
                       + @"PublisherAppName.appref-ms";
rkApp.SetValue("AppName", startPath);

Это MainWindow.xaml

<Controls:MetroWindow x:Class="AppName.MainWindow"
IgnoreTaskbarOnMaximize="True" ShowTitleBar="False" WindowStyle="None" WindowState="Maximized">
...
</Controls:MetroWindow>

c#,wpf,windows,clickonce,mahapps.metro,

2

Ответов: 4


2

Взгляните на режим киоска для Windows 10.

From Настройка устройства для использования пользователем (режим киоска) :

Одноразовое устройство легко настраивается в Windows 10 для настольных изданий (Pro, Enterprise и Education). Для устройства киоска для запуска приложения Universal Windows используйте назначенную функцию доступа . Для устройства киоска (Windows 10 Enterprise или Education) для запуска классического приложения Windows используйте Shell Launcher для установки пользовательского интерфейса в качестве оболочки.

От назначенного доступа (промышленность 8.1) :

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

В следующей таблице описывается тип приложения, которое можно использовать для каждой версии Windows 10 для создания киоска.

введите описание изображения здесь

Универсальное приложение Windows построено на универсальной платформе Windows (UWP), которая была впервые представлена ??в Windows 8 как Windows Runtime. Классическое приложение Windows использует классическую платформу Windows (CWP) (например, COM, Win32, WPF, WinForms и т. Д.) И обычно запускается с использованием файла .EXE или .DLL.


1

Вы можете сделать это в MainWindow.xaml.cs, добавив окно максимального размера.

public MainWindow()
{
    InitializeComponent();
    this.WindowState = WindowState.Maximized;
}

0

Задайте состояние окна в обработчике событий ContentRendered:

protected override void OnStartup(StartupEventArgs e)
{  
    Application.Current.MainWindow.ContentRendered += (s, a) => 
        Application.Current.MainWindow.WindowState = WindowState.Maximized;

}

0 принят

Решение (взломать) было открыть любое другое окно (например, powershell) при запуске с помощью планировщика заданий, а после того, как другое окно открыто, мы можем вызвать Alt + Tab в сценарии powershell, используя.

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.SendKeys]::SendWait("%{TAB}")
C #, WPF, окна, ClickOnce, mahapps.metro,
Похожие вопросы