Я настроил локальную Windows учетную запись с multi App Kiosk . В фоновом режиме работает служба, которая определяет, как долго пользователь находится в режиме ожидания (без ввода в течение определенного периода времени). Незадолго до истечения времени (5 минут) я хочу показать диалоговое окно, информирующее пользователя о необходимости что-то сделать, иначе пользователь автоматически выйдет из системы.
Мне удалось запустить этот диалог, но форма всегда придерживается фон. Я пробовал это:
protected override void OnLoad(EventArgs e)
{
TopMost = true;
WindowState = FormWindowState.Maximized;
Show();
Focus();
BringToFront();
SetWindowPos(this.Handle, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS);
}
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
private static readonly IntPtr HWND_TOPMOST = new IntPtr(-1);
private const UInt32 SWP_NOSIZE = 0x0001;
private const UInt32 SWP_NOMOVE = 0x0002;
private const UInt32 TOPMOST_FLAGS = SWP_NOMOVE | SWP_NOSIZE;
Но это не работает.
Есть ли способ решить эту проблему?