Archive: StrLen question


StrLen question
My code is below:
System::Call 'imm32::ImmInstallIME(t "$SYSDIR\OVIME.ime", t "$(^Name)")'
${registry::Open} "${IME_ROOT_KEY}\${IME_KEY}" "/N='OVIME.ime' /G=1 /T=REG_SZ" $0
${registry::Find} $0 $1 $2 $3 $4
StrLen $5 "${IME_KEY}"
StrCpy $6 $1 "" $5

My question is that i found the StrLen result in $5 was different between Windows 2000 and windows xp. $5(win2000) is one more than $5(winxp).

Thanks for your help.


How is IME_KEY defined?


sorry, miss the information
IME_KEY is defined below:
!define IME_KEY "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\"


In this case you'd have to include a better example. An minimal example that reproduces the problem and is easy to compile. I can't see how $5 could change after testing the length of such a simple string that uses no variables.