Member 12545398 Ответов: 1

Как закрыть экран ПК, скрыть панель задач при запуске программного обеспечения.


I have developed Point of sale application in c# and i have following two requirements:

1. I want when user start up computer then POS will start up automatic

Solutions Tried : I Know there is a startup folder where we can copy shortcut of software and on computer start up this application will start up automatic. Is there any better practice to that.

2. User not able to see taskbar or POS will cover whole screen. Requirement is user cannot use computer for another purpose.

I have no idea how to implement 2.


Что я уже пробовал:

For first req:  I Know there is a startup folder where we can copy shortcut of software and on computer start up this application will start up automatic. Is there any better practice to that


Решение пробовал на 2-ое требование состоит в следующем. С помощью этого решения мы можем скрыть панель задач, но если мы нажмем клавишу окна формы клавиатуры, то мы можем сделать любую вещь. Поэтому я ищу решение, которое может решить эту проблему с хорошим решением.

public void EnterFullScreenMode(Form targetForm)
{
targetForm. WindowState = FormWindowState.Обычный;
targetForm. FormBorderStyle = FormBorderStyle.Никто;
targetForm.Windowstate Значение = FormWindowState.Развернуто;
}

[no name]

Поисковый запрос, который вы ищете, - это " режим киоска"

Member 12545398

Спасибо за ответ! Да, режим киоска-идеальное решение для такого типа сценария. Я попробовал режим киоска. Для устройства киоска, чтобы запустить приложение Windows,я использовал функция ограниченного доступа, а также. Где мы можем запустить только приложение, загруженное из магазина или универсальной платформы Windows (UWP). Как я могу запустить самостоятельно разработанное программное обеспечение winform, такое как режим киоска.

1 Ответов

Рейтинг:
0

Ramza360

Просто установите форму на самый верхний уровень без стиля границ,а затем установите максимизированный.

Примечание: это должно быть сделано в приведенном ниже порядке, иначе это не будет работать правильно.

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);
    this.TopMost = true;
    this.FormBorderStyle = FormBorderStyle.None;
    this.WindowState = FormWindowState.Maximized;
}


В качестве альтернативы вы можете подключиться к событию, а не переопределять его.

private void Form1_Load(object sender, EventArgs e)
{
    this.TopMost = true;
    this.FormBorderStyle = FormBorderStyle.None;
    this.WindowState = FormWindowState.Maximized;
}


Member 12545398

Я тоже пробовал это решение, но проблема в этом решении заключается в том, что если вы нажмете клавишу окна с клавиатуры или alt+clt+del, то вы можете делать все, что захотите. Мы можем отключить клавишу окна клавиатуры, но это не полное решение. Есть ли какой-нибудь другой способ, который мы можем сделать ?

Ramza360

Поскольку WinForms не поддерживает режим киоска, вам придется отключить эти клавиши и ярлыки диспетчера задач. Вот несколько примеров этого: http://stackoverflow.com/questions/3213606/how-to-suppress-task-switch-keys-winkey-alt-tab-alt-esc-ctrl-esc-using-low

Приведенная выше ссылка, по-видимому, работает в некоторых ситуациях, но не во всех. Может быть, стоит подумать о переходе на WPF?