C# 如何阻止Windows 10功能“焦点辅助”被启用?

C# 如何阻止Windows 10功能“焦点辅助”被启用?,c#,windows,winforms,windows-10-desktop,C#,Windows,Winforms,Windows 10 Desktop,我正在使用WinC窗体创建一个覆盖。覆盖需要与当前屏幕大小相同或大于当前屏幕。但是,它不需要启用聚焦辅助功能 我尝试过使用FormWindowsState.Maximized和p/Invoke MoveWindow,但一旦窗体大小与屏幕大小相同或大于屏幕大小,就会启用焦点辅助功能 这是我目前掌握的代码: 覆盖格式构造函数 移动窗口 如果有任何方法可以禁用此功能,我还没有找到它。如果您有任何想法,我们将不胜感激。目前,无法通过编程方式打开/关闭聚焦辅助功能 有一些,但我不推荐使用它们。没有神奇的窗

我正在使用WinC窗体创建一个覆盖。覆盖需要与当前屏幕大小相同或大于当前屏幕。但是,它不需要启用聚焦辅助功能

我尝试过使用FormWindowsState.Maximized和p/Invoke MoveWindow,但一旦窗体大小与屏幕大小相同或大于屏幕大小,就会启用焦点辅助功能

这是我目前掌握的代码:

覆盖格式构造函数

移动窗口


如果有任何方法可以禁用此功能,我还没有找到它。如果您有任何想法,我们将不胜感激。

目前,无法通过编程方式打开/关闭聚焦辅助功能


有一些,但我不推荐使用它们。

没有神奇的窗口选项来覆盖这个特性,你必须考虑只覆盖活动窗口而不是整个屏幕。如果该窗口最大化,则覆盖也将最大化,但这取决于用户的偏好。你要做的唯一一件非常重要的事情就是让覆盖层在移动时跟随窗口。使用System.Windows.Automation获取事件。我以前制作过这样的覆盖,我只是想知道是否有解决方法,或类似于以前Windows版本中安静时间可用的API。目前,如果不使用未记录的代码,这似乎是不可能的,我认为这在生产代码库中不是一个好主意。无论如何,谢谢你。
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.OptimizedDoubleBuffer |
    ControlStyles.DoubleBuffer |
    ControlStyles.UserPaint |
    ControlStyles.AllPaintingInWmPaint |
    ControlStyles.SupportsTransparentBackColor, true);

SetWindowLong(this.Handle, GWL_EXSTYLE, (IntPtr)(GetWindowLong(this.Handle, GWL_EXSTYLE) | WS_EX_LAYERED | WS_EX_TRANSPARENT | WS_EX_NOACTIVATE));
SetLayeredWindowAttributes(this.Handle, 0, 128, LWA_ALPHA);
this.TopMost = true;
this.WindowState = FormWindowState.Maximized;
Screen screen = Screen.FromPoint(Cursor.Position);
MoveWindow(this.Handle, screen.Bounds.X, screen.Bounds.Y, screen.Bounds.Width, screen.Bounds.Height, true);