我正在尝试进行一些注册表编辑,但我不确定我是否理解如何计算特定的dword值。
以下是两个例子:
[HKEY_CURRENT_USER\ControlPanel\Volume]
"Volume"=dword:0xFFFFFFFF ; 0=off, 0xFFFFFFFF=maximum
"Refresh"=dword:493E0 ; every 5 minutes
对于音量,如果0xFFFFFFFF是最大值,我将如何计算选项范围?而对于“刷新”,如果493E0是每5分钟一次,我该如何计算出每分钟,每天或每小时会是什么?
这是Motorola Symbol MK4000 WinCE 5.0设备。
答案 0 :(得分:2)
音量分为2 The low word is left and the high word is right。通道上的0xffff对应于100%或“max”。 50%是0x7fff,依此类推。请记住,这也很少是线性的,所以50%的体积并不意味着50%的声音。
修改强>
为了进一步澄清,音量分为两个通道。我假设你想要每个都有相同的音量。
通用公式为[left value] | ([right value << 16])
以下是示例:
对于100%,两个通道的值为0xFFFF就是你想要的
Value = 0xFFFFFFFF == 0xFFFF | (0xFFFF << 16)
对于50%,两个通道(0xffff / 2)的值为0x7FFF是你想要的。
Value = 0x7FFF7FFF == 0x7FFF | (0x7FFF << 16)
对于25%,两个通道(0x7fff / 2)的值为0x3FFF是你想要的。
Value = 0x3FFF3FFF == 0x3FFF | (0x3FFF << 16)
答案 1 :(得分:0)
如果您将Windows计算器置于科学模式,您可以轻松地在HEX和常规DECIMAL之间进行转换。
http://scripts.sil.org/cms/scripts/page.php?item_id=HextoDecConversion
编辑: 数字0x493E0是300000,我想是MILLISECONDS的数量,除以1000得到秒数(300),除以60得到分钟数(5)。