Контекст: я создаю приложение для родительского контроля.
Мое приложение перечисляет все окна верхнего уровня на экране и завершает другие процессы с помощью заголовка окна, используя
[EnumWindows(EnumWindowsDelegate lpEnumFunc, IntPtr lParam)],
(https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-enumwindows)
SetWindowText(hwnd, WindowText, WindowText.Capacity).
Но у моего приложения есть зияющая дыра в безопасности.
Пользователь может переименовать заголовок окна, используя SetWindowText (IntPtr hwnd, String lpString).Затем я пытаюсь запустить cmd.exe от имени администратора, SetWindowText не работает для него.
Я хочу решить проблему в корне.
Чтобы запретить несанкционированной программе переименовывать заголовок окна другой программы, Как предоставить разрешение на запись всем окнам верхнего уровня или конкретному приложению в C #