Мне было интересно, какой нативный способ регулировки яркости в винде?
Под родным я подразумеваю метод, который также отображает наложение яркости в верхнем левом углу в Windows 8, 8.1 и 10, как будто были нажаты специальные клавиши яркости.
Я искал это по всему Интернету, но некоторые решения, которые действительно работают, регулируют яркость, но наложение не отображается. Есть идеи? Есть ли что-то вроде
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
который выключает монитор, но для яркости, что можно использовать из C++? Или С#? Спасибо.
Обновление: вот пример кода.
HMONITOR hMonitor = NULL;
DWORD cPhysicalMonitors;
LPPHYSICAL_MONITOR pPhysicalMonitors = NULL;
// Get the monitor handle.
hMonitor = MonitorFromWindow(GetForegroundWindow(), MONITOR_DEFAULTTOPRIMARY);
// Get the number of physical monitors.
BOOL bSuccess = GetNumberOfPhysicalMonitorsFromHMONITOR(
hMonitor,
&cPhysicalMonitors
);
if (bSuccess)
{
// Allocate the array of PHYSICAL_MONITOR structures.
pPhysicalMonitors = (LPPHYSICAL_MONITOR)malloc(
cPhysicalMonitors * sizeof(PHYSICAL_MONITOR));
if (pPhysicalMonitors != NULL)
{
// Get the array.
bSuccess = GetPhysicalMonitorsFromHMONITOR(
hMonitor, cPhysicalMonitors, pPhysicalMonitors);
// Use the monitor handles (not shown).
DWORD pdwMinimumBrightness = 0;
DWORD pdwCurrentBrightness = 0;
DWORD pdwMaximumBrightness = 0;
DWORD dwMonitorCapabilities = 0;
DWORD dwSupportedColorTemperatures = 0;
bSuccess = GetMonitorCapabilities(pPhysicalMonitors, &dwMonitorCapabilities, &dwSupportedColorTemperatures);
cout << bSuccess << endl;
// Close the monitor handles.
bSuccess = DestroyPhysicalMonitors(
cPhysicalMonitors,
pPhysicalMonitors);
// Free the array.
free(pPhysicalMonitors);
}
}
cout << bSuccess
всегда пишет 0 в терминале.
GetMonitorCapabilities
завершается с ошибкой -1071241854 (0xC0262582: "Произошла ошибка при передаче данных на устройство по шине I2C."). Тогда как работают клавиши яркости на моем компьютере?
Get/SetMonitorBrightness
не удается, вы должны показать нам код, который вы используете. Желательно в виде минимально воспроизводимого примера - person theB   schedule 07.06.2016GetMonitorBrightness
- person theB   schedule 07.06.2016