PWRCFG.EXE 命令行实用程序所做的更改存储在哪里?

PWRCFG.EXE 命令行实用程序所做的更改存储在哪里?

具体来说,关于以下部分另一个答案,我可以在哪里手动设置/编辑这个实用程序正在做什么?

Powercfg 命令行选项

在命令行中你可以输入

POWERCFG -REQUESTSOVERRIDE PROCESS name_of_the_process

显示系统,这将阻止 Windows 7 在某个进程运行时进入睡眠状态。我从未使用过它,所以你必须阅读手册这里

用法:

POWERCFG -REQUESTSOVERRIDE <CALLER_TYPE> <NAME> <REQUEST>

指定下列调用者类型之一:PROCESS、SERVICE、DRIVER。这可以通过调用 POWERCFG -REQUESTS 命令获得。指定调用者名称。这是调用 POWERCFG -REQUESTS 命令返回的名称。指定下列一个或多个电源请求类型:Display、System、Awaymode。

例子:

POWERCFG -REQUESTSOVERRIDE PROCESS wmplayer.exe Display System

要删除电源请求覆盖,请使用 -REQUESTSOVERRIDE 选项,但不要指定任何类型的覆盖(系统、显示、离开模式),如下例所示:

POWERCFG -REQUESTSOVERRIDE PROCESS wmplayer.exe

答案1

您可以使用注册应用程序来捕捉变化。

RegFromApp 监视您选择的应用程序对注册表所做的更改,并创建一个标准的 RegEdit 注册文件 (.reg),其中包含该应用程序对注册表所做的所有更改。您可以在需要时使用生成的 .reg 文件将这些更改导入 RegEdit。

在此处输入图片描述

另一种方法是使用以下命令创建 2 个注册表快照主机注册截图 2(更改前 1 个,更改后 1 个),然后让工具比较快照并列出差异。

答案2

虽然其他答案告诉人们可以使用哪些工具来尝试找出答案,这很好,但它们实际上并没有回答信息存储在何处。

覆盖存储在 Process、Service 和 Driver 项下

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerRequestOverride\

每个覆盖都是一个 DWORD,以进程名称命名,其值是以下项的组合这些

  • 1 = 显示
  • 2 = 系统
  • 4 = 离开模式
  • 8 = 执行

因此示例命令:

POWERCFG -REQUESTSOVERRIDE PROCESS wmplayer.exe Display System

在注册表中产生此结果:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerRequestOverride\Process]
"wmplayer.exe"=dword:00000003

在撰写本文时,这仍然适用于最新版本的 Windows 10。

答案3

您可以使用SysInternals 的进程监视器查看pwrcfg.exe程序在设置这些选项时执行的操作。使用过滤选项仅监视pwrcfg.exe,并查看它在注册表或文件系统中的哪个位置保存配置选项。

相关内容