Окно WPF с WS_EX_TOOLWINDOW появляется в Alt+Tab после перезапуска Explorer.exe при запуске с токеном доступа к пользоваC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Окно WPF с WS_EX_TOOLWINDOW появляется в Alt+Tab после перезапуска Explorer.exe при запуске с токеном доступа к пользова

Сообщение Anonymous »

Я столкнулся с неожиданным поведением окна WPF, созданного с использованием стиля WS_EX_TOOLWINDOW, когда приложение запускается с правами токена доступа к пользовательскому интерфейсу.
Описание проблемы:
Окно со стилем WS_EX_TOOLWINDOW неожиданно появляется при нажатии Alt+Tab после перезапуска explorer.exe, но только тогда, когда приложение запускается с токеном доступа к пользовательскому интерфейсу. Этого не происходит при непосредственном запуске приложения.
Шаги по воспроизведению:
  • Запустите приложение WPF через службу, используя SetTokenInformation с TokenUIAccess.
  • Создайте прозрачное самое верхнее окно со стилем WS_EX_TOOLWINDOW.
  • Уничтожьте explorer.exe из диспетчера задач (подробнее). tab)
  • Запустите explorer.exe с помощью «Выполнить новую задачу».
  • Нажмите Alt+Tab — окно появится, несмотря на стиль WS_EX_TOOLWINDOW.
Проверка стилей окон:
Я проверил с помощью Spy++, что стили остаются неизменными после перезапуска explorer.exe: https://i.sstatic.net/9roQafKN.png
На изображении показано, что стили окон (0x680000) и расширенные стили (0x80A8) остаются согласованными до и после воспроизведения проблемы, что подтверждает, что WS_EX_TOOLWINDOW все еще применяется.
Код:
// Setting UI Access token
uint dwUIAccess = 1;
SetTokenInformation(hUserToken, TOKEN_INFORMATION_CLASS.TokenUIAccess, ref dwUIAccess, sizeof(uint));

// Window styles
var hwnd = new WindowInteropHelper(this).Handle;
var extendedStyle = GetWindowLong(hwnd, GWL_EXSTYLE);
SetWindowLong(hwnd, GWL_EXSTYLE, extendedStyle | WS_EX_TOOLWINDOW | WS_EX_TRANSPARENT);


Подробнее здесь: https://stackoverflow.com/questions/792 ... -restart-w
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Окно WPF с WS_EX_TOOLWINDOW появляется в Alt+Tab после перезапуска Explorer.exe при запуске с токеном доступа к пользова
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Желание конкретного размера Visual Studio 2019 Extension Toolwindow (WPF USERCONTROL)
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Желание конкретного размера Visual Studio 2019 Extension Toolwindow (WPF USERCONTROL)
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Желание конкретного размера Visual Studio 2019 Extension Toolwindow (WPF USERCONTROL)
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Событие Pygame Joystick нарушено какой-то темной магией при моделировании alt+tab
    Гость » » в форуме Python
    0 Ответы
    60 Просмотры
    Последнее сообщение Гость

Вернуться в «C#»