使用Inno Setup Pascal Scripting将二进制数据写入注册表

时间:2015-10-07 06:32:35

标签: registry inno-setup pascalscript

请再次需要你的帮助。我想在注册表中写入十六进制条目。我们应该怎么做?我需要Code部分下的函数。

这就是我的所作所为:

procedure ADDRegistry;
begin
  RegWriteDWordValue(HKLM64,'SYSTEM\CurrentControlSet\services\FIDTPU\Parameters', 'CalibMode', 0);

  RegWriteBinaryValue(HKLM64,'SYSTEM\CurrentControlSet\services\FIDTPU\Parameters', 'Caldata9' + 
    #7c#17#17#01#26#08#1f#0f#50#02#cf#08#40#0f#f7#13#f6#01#26#1f#f7#01#6b#27#e7#1d#81#15#54#00#27#df#2d#06#dd#2b#e2#1d#61#17#56#00#18#9f#af#01#df#2b#bd#1d#49#19#b3#01#0d#bf#3b#03#87#2d#c6#1d#c9#10#cc#03#19#7f#7d#01#d9#2d#ae#1d#f9#13#54#00#34#5f#03#02#6b#2e#aa#1d#6f#14#54#00#30#9f#55#00#6b#2e#9c#1d#65#17#e5#02#34#df#b3#01#e9#2f#99#1d);
end;

RegWriteDWordValue有效,但RegWriteBinaryValue没有。

带有十六进制的原始注册表项是:

  

“Caldata9”=己烷:7c中,17,17,01,26,08,1f,0F,50,02,CF,08,40,0f,f7,13,f6,01,26,1f,F7 \   01,6b,27,e7,1d,81,15,54,00,27,DF,2D,06,DD,2B,e2,1d,61,17,56,00,18,9f,AF,01, \   DF,如图2B所示,BD,1D,49,19,b3,01,0d,BF,3B,03,87,2d,c6,1d,c9,10,CC,03,19,7f,7D,01,D9, \   如图2D所示,AE,1D,f9,13,54,00,34,5f,03,02,6b,2E,AA,1d中,1207米,14,54,00,30,9f,55,00,6b,2E, \   图9c,1D,65,17,e5,02,34,DF,b3,01,e9,2f,99,1d

我该怎么做?

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

map.on('singleclick', function(evt) { var coordinate = evt.coordinate; }); 的Pascal中,#dd是字符的十进制表示,而不是十六进制。所以dd不是您的想法,甚至不会编译。

要使用十六进制表示,请使用#7c

另请注意,#$hh后应该有逗号,而不是加号。

'Caldata9'
相关问题