(1) These API methods have always been problematic with reading some of the Windows registry attributes.
(2) They are meant for reading and writing to YOUR extension key’s attributes ONLY.
(3) Most SketchUp native settings are read from the registry on startup, and on shut down overwrite any “hacked” changes made during that session.
Same situation. Changing these settings whilst SketchUp is open, will likely not have any effect, and the changes will be overwritten by SketchUp when it shuts down.
There is a trick you can use on Windows. I just posted it a few minutes ago in another thread …
… although this is in a separate webdialog “floating” window.
Another alternative is to create a extension component collection, buy copying components from your plugin resource subfolder (called a distribution folder) to a sub-folder of the user’s “Components” folder.
Even SketchUp itself does this for the base set of extensions and classifications, etc.
This is a “no go”. The SketchUp trays (which are MS Windows only,) are not exposed to the APIs.
The same for the tray panels. No exposure in the APIs.
If you know C programming and are familiar with the Windows SDK, you might be able to “shoehorn” a window object into SketchUp’s trays, but SketchUp would not expect this, and it could cause issues when SketchUp goes to shut down and save all the tray position information.