10-09-2026 11:00 AM - edited 10-09-2026 11:03 AM
More on interfaces (related to my previous post on buttons). On the left in each picture is a button from a Python-based application in what I am pretty sure is Calibri. On the right is LabVIEW's version of Calibri and Calibri light in a Fuse button. Top is actual size more or less. Bottom is magnified. Is there a way to get crispier text in LabVIEW? What makes the difference? These a screen shots from side-by-side windows? Interestingly, the Mac version of LabVIEW has the more Python-like text. -- David
10-09-2026 01:07 PM - edited 10-09-2026 01:08 PM
Hi David,
@FlatCat wrote:
What makes the difference?
What is your screen scaling set to?
How do those buttons look like when you set a scaling of 100%?
10-09-2026 01:39 PM
Hi Gerd,
I think you're right that it's a screen scaling issue. I am on the "Recommended" setting of 125%. On 100%, the difference between the apps goes away. NI Support suggested the procedure below, which helps a lot (although not 100%).
David
10-09-2026 05:42 PM
@FlatCat wrote:
Hi Gerd,
I think you're right that it's a screen scaling issue. I am on the "Recommended" setting of 125%. On 100%, the difference between the apps goes away. NI Support suggested the procedure below, which helps a lot (although not 100%).
David
- Close LabVIEW
- Right-click LabVIEW.exe
- Select Properties
- Open the Compatibility tab
- Click Change high DPI settings
- Enable Override high DPI scaling behavior
- Set Scaling performed by to System (Enhanced)
- Reopen LabVIEW and compare the same button again
Would you have to do the same for an exe that is created? Could that be automated for an exe? Hate to ask a customer to do that.
10-10-2026 04:43 AM - edited 10-10-2026 05:12 AM
@mcduff wrote:
...
- Enable Override high DPI scaling behavior
- Set Scaling performed by to System (Enhanced)
- Reopen LabVIEW and compare the same button again
Would you have to do the same for an exe that is created? Could that be automated for an exe? Hate to ask a customer to do that.
Yes, of course. Just create a manifest with PerMonitor DPI awareness:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<!-- Overrides legacy false/true setting on Windows 10/11 -->
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
</assembly>
Then simply embed it into the LabVIEW-built application:
mt.exe -manifest ApplicationHiDPI.exe.manifest -outputresource:ApplicationHiDPI.exe;#1
After that, the application will no longer be scaled. So easy. If you signing application with code signing certificate, then do it after manifest embedding, otherwise this will break digital signature.
10-10-2026 10:22 AM - edited 10-10-2026 10:23 AM
I am to new manifests, and I notice that mt.exe is not even on my computer and needs to be installed (apparently as part of Windows SDK). In which case, doesn't it also need to be installed on the user's computer so it can be executed there by the built app? Does mt.exe then need to be part of the Installer (as an additional installer, perhaps)?
On an even simpler level, where does mt.exe get executed? Within the application via system exec.vi?
10-10-2026 12:08 PM - edited 10-10-2026 12:09 PM
@FlatCat wrote:
I am to new manifests, and I notice that mt.exe is not even on my computer and needs to be installed (apparently as part of Windows SDK). In which case, doesn't it also need to be installed on the user's computer so it can be executed there by the built app? Does mt.exe then need to be part of the Installer (as an additional installer, perhaps)?
On an even simpler level, where does mt.exe get executed? Within the application via system exec.vi?
Basically it is part of your application build process.
1) Built your LabVIEW application
2) Run mt.exe to add this (and other manifest settings) into the created exe file.
3) If you have a signing certificate and need to sign your executable so users in high security restricted IT environments won't be prompted with ugly warning dialogs about untrusted software, sign your executable now.
4) Optionally create a LabVIEW installer
5) Distribute exe or installer to your users