c# - Read string value from registry but the result contains some weird characters -


i'm reading string values registry using registry.getvalue, result seems have 'invisible' characters don't see registry editor.

for example, registry.getvalue returns "london\0j" expected "london", , in registry editor can see value "london" , there doesn't seem @ end of string. if export key .reg file shows "london". don't have permission write registry can't test importing .reg file.

apply string.trim result doesn't work either.

what "\0j"?

edit: code read key value

    var registryvalue =         registry.getvalue(@"hkey_local_machine\system\\currentcontrolset\\services\\netlogon\\parameters",             "dynamicsitename", string.empty); 

the exported .reg file:

windows registry editor version 5.00  [hkey_local_machine\system\currentcontrolset\services\netlogon\parameters] "dynamicsitename"="london" 

as can see in reference source getvalue uses regqueryvalueex read complete value registry.

then data converted target c# type according registry type returned (as output parameter) regqueryvalueex.

so see written registry. don't see \0j in regedit tool implemented using zero-terminated strings. regedit "thinks" string ends @ \0 , not display it.

but since getvalue reads really there, you're output correct. c# not use \0 string termination character.

of course can't tell wrote data registry , if valid or not. (it used sort of weird hidden information app verify value written app)


Comments

Popular posts from this blog

matlab - error with cyclic autocorrelation function -

django - (fields.E300) Field defines a relation with model 'AbstractEmailUser' which is either not installed, or is abstract -

c# - What is a good .Net RefEdit control to use with ExcelDna? -