V18.104.22.16897, Win XP Pro
Documentation for WindowsRegistry r~getvalue() says that the "type" value that may be returned is one of a set of words, including "NONE". I'm getting "0" when there's no matching named value. Code works fine when named values do exist.
r = .WindowsRegistry~new / create a new registry object /
rexhome = value("REXX_HOME",,"ENVIRONMENT")
path2exe = rexhome || "\rexx.exe"
parent_hkcu = r~current_user
subkeynm = "Software\Microsoft\Windows\ShellNoRoam\MUICache"
accessrq = "ENUMERATE" , / to list a key's subkeys /
"INQUIRE" , / to list a key's values /
"SET" / to create/delete/set value /
handle_sbky = r~open(parent_hkcu,subkeynm,accessrq)
grab1. = r~getvalue(handle_sbky,path2exe)
call l "grabbed subkey value for path2exe='"path2exe"'"
call l " which is: type='"grab1.type"' and data='"grab1.data"'"
20120528 09:29:30.531000 grabbed subkey value for path2exe='C:\My Dropbox\Programs-IPCLP\~open-source ooRexx V4-1-1\rexx.exe'
20120528 09:29:30.546000 which is: type='0' and data='0'
20120528 09:29:30.546000 which is not expected (NORMAL) type.
whereas a found value would log something like:
20120528 09:29:30.546000 grabbed subkey value for path2exe='C:\My Dropbox\Programs-IPCLP\~open-source ooRexx V4-1-1\rexxhide.exe'
20120528 09:29:30.546000 which is: type='NORMAL' and data='Open Object Rexx Interface'
It's perfectly reasonnable that the value wasn't found, but I was expecting a type of "NONE" in that instance, if I've interpreted the documentation correctly.