प्रयोग के एक समूह के साथ, मैं उस रजिस्ट्री मान के प्रारूप को अधिक या कम करने में कामयाब रहा (उस पर विवरण के लिए नीचे देखें)।
मैंने यह PowerShell स्क्रिप्ट बनाई:
Function Set-BlueLightReductionSettings {
[CmdletBinding()]
Param (
[Parameter(Mandatory=$true)] [ValidateRange(0, 23)] [int]$StartHour,
[Parameter(Mandatory=$true)] [ValidateSet(0, 15, 30, 45)] [int]$StartMinutes,
[Parameter(Mandatory=$true)] [ValidateRange(0, 23)] [int]$EndHour,
[Parameter(Mandatory=$true)] [ValidateSet(0, 15, 30, 45)] [int]$EndMinutes,
[Parameter(Mandatory=$true)] [bool]$Enabled,
[Parameter(Mandatory=$true)] [ValidateRange(1200, 6500)] [int]$NightColorTemperature
)
$data = (2, 0, 0, 0)
$data += [BitConverter]::GetBytes((Get-Date).ToFileTime())
$data += (0, 0, 0, 0, 0x43, 0x42, 1, 0)
If ($Enabled) {$data += (2, 1)}
$data += (0xCA, 0x14, 0x0E)
$data += $StartHour
$data += 0x2E
$data += $StartMinutes
$data += (0, 0xCA, 0x1E, 0x0E)
$data += $EndHour
$data += 0x2E
$data += $EndMinutes
$data += (0, 0xCF, 0x28)
$tempHi = [Math]::Floor($NightColorTemperature / 64)
$tempLo = (($NightColorTemperature - ($tempHi * 64)) * 2) + 128
$data += ($tempLo, $tempHi)
$data += (0xCA, 0x32, 0, 0xCA, 0x3C, 0, 0)
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\$$windows.data.bluelightreduction.settings\Current' -Name 'Data' -Value ([byte[]]$data) -Type Binary
}
इसका उपयोग करने के लिए, इसे .ps1
फ़ाइल के रूप में सहेजें और PowerShell टैग विकी के सक्षम अनुभाग में दिए गए निर्देशों का पालन करें । फिर आप स्क्रिप्ट की सामग्री को डॉट सोर्सिंग द्वारा आयात कर सकते हैं:
. ./bluelightmanagement.ps1
और फिर cmdlet जैसे फ़ंक्शन का उपयोग करें जो इसे आपूर्ति करता है:
Set-BlueLightReductionSettings -StartHour 7 -StartMinutes 0 -EndHour 21 -EndMinutes 15 -Enabled $true -NightColorTemperature 6000
यदि आप कमांड चलाते हैं तो आपके पास ब्लू लाइट रिडक्शन पेज खुला होने पर सेटिंग्स ऐप (कलर स्लाइडर को छोड़कर) तुरंत सब कुछ अपडेट कर देता है।
प्रारूप
- 4 निरंतर बाइट्स - सभी
CloudStore
मूल्यों के लिए सामान्य रूप से एक हस्ताक्षर
- 64-बिट
FILETIME
मान (8 बाइट्स, थोड़ा एंडियन) के रूप में सेटिंग का अंतिम-संशोधित समय
- 8 और लगातार बाइट्स
- बाइट्स
2
तब 1
अगर नीली बत्ती कटौती सुविधा सक्षम है, बस चला गया अगर यह अक्षम है
- 3 अधिक निरंतर बाइट्स
- शुरू होने का समय (1 बाइट)
- 1 निरंतर बाइट
- प्रारंभ समय मिनट (1 बाइट)
- 4 लगातार बाइट्स
- अंतिम समय का घंटा (1 बाइट)
- 1 निरंतर बाइट
- अंत समय के मिनट (1 बाइट)
- 3 लगातार बाइट्स
- कुछ अजीब द्विआधारी गणित (2 बाइट्स) के बाद केल्विन में रात का रंग तापमान
- 7 लगातार बाइट्स
रंग का तापमान दो बाइट्स के रूप में थोड़ा एंडियन में संग्रहीत किया जाता है। उच्च-मूल्य एक 64 के तापमान को विभाजित करने के परिणाम का पूर्णांक भाग है। निम्न-मूल्य बाइट को दो से गुणा किया जाता है, फिर 128 में जोड़ा जाता है। बाइट्स से तापमान की गणना करने के लिए, उच्च बाइट को 64 से गुणा करें और जब आपको कम बाइट और 128 के बीच के अंतर से दो भाग मिलते हैं, तो उसे जोड़ें।