Well, if it was the latter, then REG_MULTI_SZ should have been already in the list of supported key value types, from a logical point of view. The fact that it isn't (yet) supported makes me believe it's the former possibility. After a quick look at this, this and this, it seems that the null character is indeed used as a string terminator - correct me if I'm wrong. The nullptr keyword and the _wcsicmp functions there seem to indicate that the NULL character/pointer is used to detect where the string taken from the registry ends.SilverAzide wrote: ↑March 23rd, 2019, 2:45 amYes.. what we don't know (maybe you've already tried it and do know) is whether Rainmeter (or, more specifically, the Win32 API Rainmeter uses) will read the registry entry up to the first null and stop, or will it read in the entire buffer into memory, nulls and all. If the latter, then you won't be able to see the strings after the first null, but they will be there and could be made available with a substitute to get rid of embedded nulls.
Yep, I know. Having a native Rainmeter measure to get that though saves both resources and potential inconvenient things happening along the way. I'm also currently getting the names, sizes and usages of all the pagefiles using a similar gwmi based RunCommand/Powershell method, but given a native Rainmeter alternative I would choose the latter in a heartbeat. It would be faster, safer and, well, simpler.SilverAzide wrote: ↑March 23rd, 2019, 2:45 amEither way, you CAN read a REG_MULTI_SZ registry entry using Rainmeter. It requires Powershell and a little command-line kung fu, but you could easily do it with a Command measure. One example:
That will dump out a list of strings you could then grab and parse however you like. With a little creativity, you can probably alternatively format the text as a single string joined together with a separator of your choice (e.g., "string1;string2;string3")Code: Select all
PS> Get-ItemProperty -Path "HKCU:\Software\Binary Fortress Software\DisplayFusion\Wallpaper\c01c88eb-b1af-446a-ba4c-d714a2c45fdd" | Select-Object -ExpandProperty Wallpaper_0_RotatePaths
EDIT: If I'm not mistaken, it was you who pointed me in the right direction with that pagefile gwmi method - many thanks, by the way... All I'm saying is that I would only use RunCommand/PS methods only when there are no other alternatives available.
EDIT2: Yes, I've already tried regex substituting to clear up nulls using all the available regex methods, and had no success.