首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式切换Win 10中的焦点辅助模式

以编程方式切换Win 10中的焦点辅助模式
EN

Stack Overflow用户
提问于 2019-04-02 14:16:43
回答 3查看 2K关注 0票数 15

在我所看过的几乎所有的地方,都有一些问题没有得到回答,所以我想我应该把我的问题加到统计中去。

我期待切换焦点协助模式,在Win 10编程,到目前为止,一直未能在官方和非官方渠道找到大量的文档。

如果我无法以编程方式切换焦点帮助,我将需要从本质上模仿相同的行为--也就是说,我需要拦截和压制传入的通知,直到它被关闭,然后显示在此期间被静默的通知。

现在唯一可用的方法是使用反向的WNF信息编写一些c++,然后祈祷它不会在更新中中断。在我进入兔子洞之前,我想我应该看看是否有人做过这件事,或者也许可以让我找到一个我还没有考虑过的资源。

通知侦听器很棒,它允许我访问上述通知以满足我的次要需求,但它不允许我在它们进入时使它们保持沉默,因为它与vs并行运行,中断了通知的流程。

对于将来问这个问题的人,我发现这些都很有帮助:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-04-03 08:20:22

我希望在Win 10中以编程方式切换焦点辅助模式,但到目前为止都没有成功。

目前,UWP没有提供这样的api来以编程方式切换Focus Assist模式。如果你真的想要这个功能,请在UserVoice上自由的要求这个特性。

票数 7
EN

Stack Overflow用户

发布于 2020-06-26 20:45:33

您可以使用WNF机制切换模式。

生成文件"0“= 00 00 00 (十六进制)和文件"1”= 02 00 00 00 (十六进制)的二进制内容

例如,在git bash中

代码语言:javascript
复制
echo -n -e "\x00\x00\x00\x00" > 0
echo -n -e "\x02\x00\x00\x00" > 1

克隆存储库:https://github.com/ionescu007/wnfun

代码语言:javascript
复制
pip install Pywin32
pip install hexdump

打开优先级模式

代码语言:javascript
复制
python WnfDump.py -w WNF_SHEL_QUIET_MOMENT_SHELL_MODE_CHANGED 1

关闭焦点协助

代码语言:javascript
复制
python WnfDump.py -w WNF_SHEL_QUIET_MOMENT_SHELL_MODE_CHANGED 0

如果你想办法打开“只报警器”模式,请告诉我。

您也可以使用同样的技术C++。

编辑:实际上,命令激活模式是为“全屏模式”和文件内容01 00 00,将激活“游戏模式”。如果两者都被关闭,则该命令将没有任何效果。

票数 7
EN

Stack Overflow用户

发布于 2021-10-09 13:11:32

正如Pavel的回答所说,有一种编程的方法,尽管没有文件记载,也没有得到支持。下面是一个实现,尽管是用Rust编写的

相关的函数是来自ZwUpdateWnfStateDatantdll.dll。在这种情况下,相关的参数是

  1. 状态的ID,我在https://github.com/googleprojectzero/sandbox-attacksurface-analysis-tools/blob/80d7fcc8df9c3160c814c60f5121ae46c560a1b5/NtApiDotNet/NtWnfWellKnownNames.cs#L865中找到了这个ID
  2. 具有[0x02, 0x00, 0x00, 0x00]值的缓冲区
  3. 缓冲区的长度

之后的所有参数都可以安全地忽略。

代码语言:javascript
复制
// Pseudo-code
ZwUpdateWnfStateData(
            0xd83063ea3bf5075UL,
            new byte[] {0x02, 0x00, 0x00, 0x00},
            4,
            0,
            0,
            0,
            0,
        );

这似乎依赖于在焦点模式设置中打开的“当我使用全屏应用程序时”设置。

另外,如果有人试图使用它来启用焦点模式,我建议首先禁用焦点模式(通过new byte[] {0x00, 0x00, 0x00, 0x00}代替)。然后,在几毫秒后,您可以安全地启用焦点模式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55477041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档