0

背景:我正在制作一个家长控制应用程序。

我的应用程序枚举屏幕上的所有顶级窗口,并通过窗口标题使用终止其他进程

[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#中授予所有顶级窗口或特定应用程序的写权限?

4

0 回答 0