香りの石鹸を長生きさせる、またはWindowsプログラムの不正確なスケーリングを修正する方法

高解像度の画面の導入が、Windowsプログラムを画面に適応させるよりも速いことは周知の事実です。 問題は主に、目の疲れや拡大鏡の使用に飽き飽きし、システムのスケーリングを変更したときに発生します。 プログラムは、この場合の動作に応じて3つのカテゴリに分類できます。



ユーザーにとって最も不快なオプションは、もちろん2番目です。 プログラムを使用するのに不便にするだけでなく、一般に使用を不可能にすることもできます。

以下に、QTIPlotの例でこれを修正する方法を示します。



QTIPlotは、その主な機能(名前が示すとおり)がチャート作成であるプログラムです。 また、Qtを使用します。Qtは、オペレーティングシステムにそれ自体を拡張できることを伝えます。 しかし、残念なことに、何かがおかしくなり、その結果、スケーリングなしでシステム上で開かれた場合、スケーリングされたシステム上で作成され、慎重に位置合わせされたグラフィックは、調和を失います-フォントがクリープし始めます。 このプログラムはオープンソースのように見えます(ただし、コードを見つけるには探偵のスキルが必要です)が、すぐには修正できませんでした。 そのため、プログラムの代替品を探すよりも、台無しになったインターフェイスを使用する方が良いと判断し、Windowsに拡張できないことを通知することにしました。



これを行うには、変更するexeファイルがあるディレクトリに、次の内容のマニフェストファイルを作成します。

qtiplot.exe.manifest
<?xml version="1.0" encoding="utf-8"?> <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <assemblyIdentity version="1.0.0.0" name="MyApplication.app" /> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <requestedExecutionLevel level="asInvoker" uiAccess="false" /> </requestedPrivileges> <applicationRequestMinimum> <defaultAssemblyRequest permissionSetReference="Custom" /> <PermissionSet class="System.Security.PermissionSet" version="1" ID="Custom" SameSite="site" /> </applicationRequestMinimum> </security> </trustInfo> <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> </application> </compatibility> <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>false</dpiAware> </asmv3:windowsSettings> </asmv3:application> </asmv1:assembly>
      
      







(ここで私たちの主なものはもちろんです
 <dpiAware>false</dpiAware>
      
      





その後、Visual Studio Toolsから「開発者コマンドプロンプト」を起動し、このディレクトリに移動してコマンドを実行します

 mt.exe -nologo -manifest qtiplot.exe.manifest -outputresource:qtiplot.exe
      
      





(当然、「qtiplot.exe」は、パッチを適用する必要があるexeファイルの名前に置き換える必要があります)。

それだけで、プログラムを実行し、正しいスケーリングで温かみのある洗い流されたインターフェースを楽しむことができます。





マニフェストを使用したこれらのダンスの素晴らしいボーナスは、ソースコードがないプログラムでもこの方法で修正できることです。



PSこの出版物を書いた後、「スケーリング」という言葉が現代のスペルチェック辞書に含まれていないことに気付きました。 どこでも「スケーリング」に置き換える必要がありました。 この機会に、調査の下。



All Articles