Проблема:
Хотя журналы показывают, что EcoQoS будучи включенным, он не отображается в диспетчере задач. Для любого процесса, если режим эффективности включен, диспетчер задач должен отображать состояние этого процесса в режиме эффективности.
[img]https:/ /i.sstatic.net/bZ76IZAU.png[/img]
Цель:
Включить EcoQoS для заданного PID. В настоящее время я пробую это в примере консольного приложения C++ в Visual Studio 2022 в Windows 11. Со временем я планирую интегрировать этот подход в более крупное приложение UWP, написанное на .NET C#.
Код:
Код: Выделить всё
#include
#include
#include
#include
#include
#include
#pragma comment(lib, "pdh.lib")
// Enables EcoQoS (power throttling) for a specific process by its PID
void enable_ecoqos_for_pid(DWORD pid) {
// Open a handle to the target process with the required access rights
HANDLE hProcess = OpenProcess(PROCESS_SET_INFORMATION, FALSE, pid);
if (hProcess == NULL) {
// Log an error message if the process handle cannot be obtained
std::cerr
Подробнее здесь: [url]https://stackoverflow.com/questions/78751361/enabling-efficiency-mode-ecoqos-for-a-process-by-pid-in-c-and-verifying-in-t[/url]
Мобильная версия