Здравствуйте! Скажу сразу, это проблемная для меня тема. В ветви HKEY_CURRENT_USER
нужно изменить значение ColorizationGlassReflectionIntensity
, находящееся в Software\\Microsoft\\Windows\\DWM
. По стандарту оно равно 30, мне нужно выставить 0. Тип REG_DWORD. Как я делаю:
HKEY hkey;
RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\DWM\\", 0, KEY_ALL_ACCESS, &hkey);
LPTSTR lpName = L"ColorizationGlassReflectionIntensity";
LPTSTR lpValueEx = L"0";
RegSetValueEx(hkey,
lpName,
0,
REG_SZ,
(LPBYTE)lpValueEx,
(DWORD)(lstrlen(lpValueEx) + 1)*sizeof(TCHAR));
Но ничего не происходит. GetLastError возвращает 0. Что я делаю не так?
Обновлено
HKEY hkey;
RegOpenKey(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\DWM", &hkey);
LPTSTR lpName = L"ColorizationGlassReflectionIntensity";
LPTSTR lpValueEx = L"0";
RegSetValueEx(hkey, L"ColorizationGlassReflectionIntensity", 0, REG_DWORD, (PBYTE)lpValueEx, (DWORD)sizeof(lpValueEx));
Вот так получается. Вроде меняется но, отсчёт значений которые я передаю, как бы идёт от 30. То есть - я передаю lpValueEx = L"0"
, ColorizationGlassReflectionIntensity
становиться равным 30. Передаю, например 1, параметр соответственно становиться равным 31. Если передать 10 и больше, то параметр принимает какое-то другое значение, а при lpValueEx = L"А"
- нет, не 40, а 41 почему-то. Что я опять не так делаю?
Для начала нужно вызвать функцию типа RegOpenKey() и передать в нее subkey (без имени параметра!), а уже потом, используя ее разультат, использовать RegSetValueEx(), передавая в нее имя параметра.
А проблема "0" -> 30 и "A" -> 41 в том, что там тип данных - REG_DWORD, а не строка. Код символа "0" - как раз 0x30, для "A" - 0x41. Пишите туда dword, а не строку.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Можно ли как-то изменить степень размытия фона эффекта AeroGlass через DWM API?
Не знаю как решить ? Можете сказать как можно решить эту задачу ?
В своем проекте пытаюсь реализовать подобие механизма async/await операций на Qt c использование QEventLoopПриведу простейший пример окна с одной кнопкой,...