gabdube / native-windows-gui

A light windows GUI toolkit for rust
https://gabdube.github.io/native-windows-gui/
MIT License
1.96k stars 127 forks source link

Robustness of `enable_visual_styles()` #218

Closed iainnicol closed 2 years ago

iainnicol commented 2 years ago

enable_visual_styles() is nifty, for not requiring you to embed a manifest.

However, the hard coding of a resource ID in shell32.dll makes me uncomfortable, on the chance it could break in the future.

Would you be open to a PR to match what WinForms does? WinForms does the same activation context thing you're doing, but the difference is it writes its own manifest to a temporary file.

gabdube commented 2 years ago

Oh nice. I didn't know this was possible. I guess the manifest content can be the "default" one I'm using in one of the example ( https://github.com/gabdube/native-windows-gui/blob/master/native-windows-gui/examples/embed_resources/embed_resources.exe.manifest ) ?

iainnicol commented 2 years ago

Cool, I'll see if I can put together a wee PR.

It'd be similar to that "default" example one, but even more barebones. For example, we don't need to require administrator access. And, again looking at WinForms, we don't need an assemblyIdentity for the application itself; we just need it for comctl.