Skip to content

Commit 625d6bc

Browse files
committed
Enable support of High DPI by default
1 parent eb91137 commit 625d6bc

File tree

5 files changed

+91
-1
lines changed

5 files changed

+91
-1
lines changed

SmartContextMenu/Language.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,6 +1051,7 @@
10511051
<item name="save_screenshot_filter" value="ビットマップ画像(*.bmp)|*.bmp|GIF画像 (*.gif)|*.gif|JPEG画像 (*.jpeg)|*.jpeg|PNG画像 (*.png)|*.png|TIFF画像 (*.tiff)|*.tiff|WMF画像 (*.wmf)|*.wmf" />
10521052
<item name="icon_default_ext" value="ico" />
10531053
<item name="icon_filter" value="Icon (*.ico)|*.ico|ビットマップ画像(*.bmp)|*.bmp|GIF画像 (*.gif)|*.gif|JPEG画像 (*.jpeg)|*.jpeg|PNG画像 (*.png)|*.png|TIFF画像 (*.tiff)|*.tiff|WMF画像 (*.wmf)|*.wmf" />
1054+
<item name="size_form" value="サイズ" />
10541055
<item name="size_btn_apply" value="適用" />
10551056
<item name="lbl_size_form_height" value="高さ:" />
10561057
<item name="lbl_size_form_width" value="幅:" />

SmartContextMenu/SmartContextMenu.csproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@
3535
<PropertyGroup>
3636
<ApplicationIcon>SmartContextMenu.ico</ApplicationIcon>
3737
</PropertyGroup>
38+
<PropertyGroup />
39+
<PropertyGroup>
40+
<ApplicationManifest>app.manifest</ApplicationManifest>
41+
</PropertyGroup>
3842
<ItemGroup>
3943
<Reference Include="System" />
4044
<Reference Include="System.Core" />
@@ -263,6 +267,7 @@
263267
<DependentUpon>Resources.resx</DependentUpon>
264268
<DesignTime>True</DesignTime>
265269
</Compile>
270+
<None Include="app.manifest" />
266271
<None Include="Properties\Settings.settings">
267272
<Generator>SettingsSingleFileGenerator</Generator>
268273
<LastGenOutput>Settings.Designer.cs</LastGenOutput>

SmartContextMenu/SmartContextMenu.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,6 @@
142142
<dimmer color="#000000" transparency="50" />
143143
<sizer type="" />
144144
<systemTrayIcon show="true" />
145-
<display highDPI="false" />
145+
<display highDPI="true" />
146146
<language name="" />
147147
</smartContextMenu>

SmartContextMenu/Utils/SystemUtils.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,11 @@ public static bool TerminateProcess(int processId, uint exitCode)
167167

168168
public static void EnableHighDPISupport()
169169
{
170+
if (Environment.OSVersion.Version.Major <= 5)
171+
{
172+
return;
173+
}
174+
170175
if (Environment.OSVersion.Version >= new Version(6, 3, 0)) // win 8.1 added support for per monitor dpi
171176
{
172177
if (Environment.OSVersion.Version >= new Version(10, 0, 15063)) // win 10 creators update added support for per monitor v2

SmartContextMenu/app.manifest

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
3+
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
4+
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
5+
<security>
6+
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
7+
<!-- Параметры манифеста UAC
8+
Если вы хотите изменить уровень контроля учетных записей Windows, замените узел
9+
requestedExecutionLevel на один из следующих.
10+
11+
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
12+
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
13+
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
14+
15+
При указании элемента requestedExecutionLevel будет отключена виртуализация файлов и реестра.
16+
Удалите этот элемент, если виртуализация требуется приложению для обратной
17+
совместимости.
18+
-->
19+
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
20+
</requestedPrivileges>
21+
</security>
22+
</trustInfo>
23+
24+
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
25+
<application>
26+
<!-- Список версий Windows, на которых это приложение было протестировано
27+
и будет работать. Раскомментируйте соответствующие элементы, чтобы ОС Windows
28+
автоматически выбрала наиболее совместимое окружение. -->
29+
30+
<!-- Windows Vista -->
31+
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
32+
33+
<!-- Windows 7 -->
34+
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
35+
36+
<!-- Windows 8 -->
37+
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
38+
39+
<!-- Windows 8.1 -->
40+
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
41+
42+
<!-- Windows 10 -->
43+
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
44+
45+
</application>
46+
</compatibility>
47+
48+
<!-- Указывает, что приложение поддерживает определение DPI и не будет автоматически масштабироваться Windows при более высоких
49+
значениях DPI. Приложения Windows Presentation Foundation (WPF) по умолчанию поддерживают определение DPI, им не нужно
50+
специально включать параметр для этого. Для приложений Windows Forms на платформе .NET Framework 4.6, для которых задан этот параметр, необходимо
51+
также задать для "EnableWindowsFormsHighDpiAutoResizing" значение "true" в файле app.config.
52+
53+
При этом приложение начинает учитывать длинные пути. Дополнительные сведения см. на странице https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation.-->
54+
<!--
55+
<application xmlns="urn:schemas-microsoft-com:asm.v3">
56+
<windowsSettings>
57+
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
58+
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
59+
</windowsSettings>
60+
</application>
61+
-->
62+
63+
<!-- Включите темы для общих элементов управления и диалоговых окон Windows (Windows XP и более поздние версии) -->
64+
<!--
65+
<dependency>
66+
<dependentAssembly>
67+
<assemblyIdentity
68+
type="win32"
69+
name="Microsoft.Windows.Common-Controls"
70+
version="6.0.0.0"
71+
processorArchitecture="*"
72+
publicKeyToken="6595b64144ccf1df"
73+
language="*"
74+
/>
75+
</dependentAssembly>
76+
</dependency>
77+
-->
78+
79+
</assembly>

0 commit comments

Comments
 (0)