5 ms·
If you add a manifest you’ll get post-Windows-2000 GUI styling.
by formerly_proven 1y ago
If you add a manifest you’ll get post-Windows-2000 GUI styling.
- hard_times 1y agocan you elaborate?
- torstenvl 1y agoIn my experience, the wxWidgets documentation and forums are pretty good resources for Windows manifest files. YMMV. An example from one of my projects: https://pastebin.com/Jvjn5C6S https://pastebin.com/Jvjn5C6S You need to reference it from your resource source like so: https://pastebin.com/8FUi4tMz https://pastebin.com/8FUi4tMz And then compile that into an object file with windres: x86_64-w64-mingw32-windres rsrc/metadata/windows.rc -o winbuild/windowsrc.o And link it with your project like you would any other object file.
- trinix912 1y agoThe entire structure is also documented on MSDN with all possible values - https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests https://learn.microsoft.com/en-us/windows/win32/sbscs/applic.... While MSDN is a bit impractical to browse (there's simply so much stuff in there) it's usually the best place to go to for documentation when doing Windows dev.
- torstenvl 1y agoStrongly disagree. There's way too much mystery and magic number usage in the official documentation.
- crimsontech 1y agoCan you recommend any good alternatives for someone looking to learn programming using windows APIs?
- formerly_proven 1y agoThe magic numbers (hashes and UUIDs) sort of make sense because there's a slightly adversarial interaction between developers and Microsoft. If you just had a compatibleWindowsMin and compatibleWindowsMax field with version numbers, people would just go ahead and put "9999" in the max field, and then OS upgrades break applications again. By using UUIDs instead, an application developer can't intentionally or unintentionally declare compatibility with unreleased Windows versions.
- fredoralive 1y agoAs well as information about side by side assemblies (ie: library versions), a Windows manifest file has various settings and a declaration of compatible versions of Windows that affect Windows' handling of the app, such as whether it can handle paths over MAX_PATH, if it is hi-dpi aware, or if it knows about themed controls. https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests https://learn.microsoft.com/en-us/windows/win32/sbscs/applic... If an EXE doesn't have a manifest file, Windows assumes that it's ancient, so it falls back to conservative defaults like ye olde USER controls to try and avoid breaking it.
- MortyWaves 1y agoI’d be interested in seeing a PR for that. I’ve always found the manifests a bit confusing.
- layer8 1y agoBut why would you possibly want that? ;)
- Dwedit 1y agoYou can do it without a manifest too, it involves calling "CreateActCtxA" and "ActivateActCtx" with the appropriate Activation Context object. Manifest file is much easier.