无法为Visual Studio 2012禁用DPI缩放


11

我希望为我在14英寸1920x1080笔记本电脑上使用的大多数应用程序启用高DPI,除了一些像Visual Studio这样可以从额外空间中受益的应用程序。但是,在兼容性中设置“禁用高DPI”无济于事。使用Windows 8。


Synetech编辑了这个问题。我找不到评论他的修订版本或向他发送消息的方法,因此我将在此处发布理由:该问题特定于VS 2012(以及其他使用特定框架(例如WPF)的应用程序),在这些应用程序中,DPI具有常规兼容性设置不起作用。另外,尽管我尚未在7 / Vista上对其进行测试,但几乎可以肯定它并非特定于Windows 8。
Aleksandr Dubinsky

我删除了该Windows标签,因为仅当该标签影响所有版本时才应使用该标签,因为仅Windows使用Windows 8该标签对您适用。
Ramhound 2012年

Answers:


2

我问微软AppCompat家伙克里斯·杰克逊(Chris Jackson);没有办法做到这一点。

我们没有这种能力,缩放模式是我们处理这些情况所必须的。是的,显然我们的工作方式有些欠佳(我也讨厌模糊性),但是很难获得第二次修订的批准,从技术上解决同一问题,因为这意味着工程师没有做其他事情使世界变得更美好。

在这里也问了几乎相同的事情。


2
谢谢您的回复。听到此消息并听到有关C#开发的其他评论,就会给人一种印象,即微软没有钱,只有十几个人在为此工作。没有注意细节。小事情永远不会解决。全部以“我们没有资源”的名义。MS的效率如何?无论如何,这是一件大事,因为我花了高昂的价钱买了只让一些渴望屏幕的应用程序受益的显示器。我已经完全关闭了High DPI,但是为什么所有其他应用程序都应该很小?按应用程序DPI难吗?克里斯(Chris)暗示修复很容易,但是“禁止”。
Aleksandr Dubinsky

@AleksandrDubinsky-如果您有这样的印象,那么我不知道您所听到的是什么,但微软正在做任何事情。.NET 4.0和.NET 4.5之间进行了数百项改进。
Ramhound 2012年

@Rahmound埃里克·利珀特(Eric Lippert)回答了一个SO问题,即C#为什么不能为构造函数推断出泛型类型,例如:“没有真正的问题,这很像为方法推断它们。但是我们的预算有限[-是的对],顺便说一句,语言的一致性是低优先级。” C#中的其他示例是枚举和委托的通用类型约束,它们同样非常简单。或者,例如,Word / Excel 2010仍然具有怪异的Alt + Tab行为,因为没有人愿意重写旧的MDI的hacks。或所有不是Metro的Win8。名单继续,加上这个答复
Aleksandr Dubinsky

@Rahmound MS的哲学很简单:添加新功能很棒。即使不再添加任何功能,改进已经编写的内容也是“浪费我们宝贵的,微不足道的资源”。这与MS拥有多少钱并不一致,并且在数十年的时间范围内确实会付出巨大的代价。Word / Excel对话框的一半早于Office 95!加上多窗口的疯狂。使用Visual Studio是发现Netbeans的痛苦。VS的GUI完全是在2010年的WPF中重写的,没什么老问题了。停滞。奇妙,令人愉悦的瘀血。
Aleksandr Dubinsky

MS是一家大型公司。这意味着,在美国,他们拥有庞大的员工基础,但实际工作的人很少。每个人都想为M $工作,但是没有人因为喜欢编码而这样做,或者很少有人这样做。
2014年

17

这个有可能

我在Windows 8上尝试过此方法,它运行完美:

  1. 转到您的Visual Studio快捷方式/应用启动器
  2. 右键单击并解决兼容性问题
  3. 继续故障排除程序
  4. 故障排除程序
  5. 勾号:程序打开,但显示不正确
  6. 测试程序
  7. 是的,保存更改

你们都准备好了!


在Windows 8上的Visual Studio 2012 Update 5上工作
rtc11

1
在Windows 10上可与VS 2015一起使用,除了您需要通过开始菜单找到应用启动器并打开快捷方式的文件位置外,因为仅当您右键单击Windows资源管理器中的快捷方式时,故障排除兼容性菜单项才可用。
Tjaart '16

适用于Windows 8.1上的VS 2015。
Zoomzoom

这已经困扰了我一段时间了。效果很好,谢谢!
RyanOC

在Windows 10上的VS 2017上运行
蔡志坚(Nick Tsai)

16

这是绝对可能的。我在可执行文件上使用“兼容性”设置来执行此操作,但由于某些原因,该设置不适用于VS。但是,等效的注册表项也可以正常工作。关键是HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers,您只需要添加一个字符串值“〜HIGHDPIAWARE”(与在可执行文件属性的“兼容性”选项卡中的方框中打勾相同)。或者,您可以运行以下命令:

reg添加“ HKCU \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers” / v“可执行文件的完整路径” / t REG_SZ / d“〜HIGHDPIAWARE”


1
欢迎来到SU!仅链接的答案由于将来可能出现的链接失效而被视为否。请编辑您的答案并直接包含相关信息,并将链接作为来源参考。
Ƭᴇcʜιᴇ007

这将特别适合VS吗?我看不到什么可以识别该文件
Aleksandr Dubinsky 2013年

是的,对不起Aleksandr SU的标记已删除占位符。再次检查答案。
futuresandwich

这在Visual Studio 2013 btw中也适用。
布拉德·班福德

对于Visual Studio 2013,在指定的注册表路径中,我具有以下字符串键:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe值为~ RUNASADMIN HIGHDPIAWARE“以管理员身份运行且无缩放”
Ivan Akcheurov,2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.