jjzjj

c - 当 DPI 设置为 150% 时关闭 Aero (Windows 7),全屏窗口仅覆盖任务栏

我有一个相当标准的C++程序,我在其中创建了一个全屏窗口(带有两个子窗口)。在我的Windows10开发计算机上,此窗口会填满整个屏幕并覆盖任务栏。在Windows7上,它不覆盖任务栏。经过一些试验,似乎如果我关闭Aero,程序将覆盖任务栏!我还创建了一个快速的C#/WPF应用程序,无论Aero的状态如何,该应用程序都能够覆盖任务栏。我是否缺少窗口消息或窗口的创建选项?这是定位和创建窗口的代码//Getahandletotheprimarymonitor,whichbydefinitionhasitstop//leftcornerat(0,0).constPOINTptZero={0,

excel - 如何防止因 DPI 变化而缩放?

我在PowerpointVBA宏中使用Shapes.AddOLEObjectPowerpoint功能来获取Excel图表文件(扩展名:.xls)单击[显示图表]按钮。SetshapeOnPPT=ActivePresentation.Slides.FindBySlideID(mySlideID).Shapes.AddOLEObject(Left:=100,_Top:=100,Width:=500,Height:=400,FileName:="c:\ThisDoc\testing.xls",Link:=msoTrue)问题在我更改我的计算机显示器的DPI/分辨率并单击[显示图表]按钮后,新

windows - 图标分辨率 : Pixels vs DPI

当我尝试研究为Windows制作图标,以及在保存之前我应该​​在我的.ico文件中保留什么大小/分辨率的图像时,有太多奇怪的信息。有人说在96DPI中放置16x16、24x24、32x32、48x48...等等。这就是让我恼火的地方,我觉得这没有任何意义。不是1像素=1像素吗?为什么他们坚持要将DPI混入其中? 最佳答案 永远正确的是1像素=1像素。真正改变的是像素在具有不同屏幕密度的各种显示器上的大小。这就是DPI所描述的-每英寸的点数(像素)。但是在图像大小的上下文中使用DPI只有当您将它与英寸(厘米)结合使用时才有意义。例如“

windows - 如何检测使用的字体缩放模式?

在Windows7的“自定义DPI设置”窗口中,有一个名为“使用WindowsXP风格的DPI缩放比例”的设置。有谁知道如何检测此设置是否正在使用? 最佳答案 不确定这些中的任何一个是否能满足您的需求,但可能会有用:IsProcessDPIAware-确定当前进程是否了解每英寸点数(dpi),以便调整UI元素的大小以补偿dpi设置。WritingHigh-DPIWin32Applications-使用获取系统信息部分中的代码,您可能会以某种方式区分设置是打开还是关闭。 关于windows

c++ - SetWindowPos() 跨进程 DPI 感知

我正在创建一个程序,它使用SetWindowPos()从另一个进程移动/调整窗口大小。我自己的程序是PROCESS_PER_MONITOR_DPI_AWARE。其他程序可以是PROCESS_DPI_UNAWARE、PROCESS_SYSTEM_DPI_AWARE或PROCESS_PER_MONITOR_DPI_AWARE中的任何内容。因为我自己的程序是PROCESS_PER_MONITOR_DPI_AWARE,所以我传递给SetWindowPos()的坐标是物理坐标。我现在要做的是将客户区的大小调整到逻辑坐标中的特定大小。我尝试做的是获取放置窗口的显示器的DPI作为screenDPI。

c# - 在 C# 中更改 "Override high DPI scaling behavior"

我们在WinForm中有一个控件(CefSharp控件),当用户屏幕在Windows上设置为125%时,该控件会出现图形伪影。它不仅仅是控件,独立的Chrome在一定程度上做到了。我们能够修复工件的唯一方法是更改​​下图所示的exe设置。有没有办法在代码中更改它?编辑:这不是重复的。因为让应用程序了解DPI与DPI缩放比例不同 最佳答案 方式1.如何使用注册表覆盖高DPI缩放(选中复选框)启动注册表编辑器并导航到此键:HKEY_CURRENT_USER\­Software\­Microsoft\­WindowsNT\­Current

c# - DPI 意识 - 在一个版本中没有意识到,在另一个版本中有系统意识

这个问题在这里已经有了答案:WindowsFormswindowchangesitssizewhenIcreateaWPFwindow(3个答案)关闭4年前。所以我们遇到了这个非常奇怪的问题。我们的应用程序是C#/WinForms应用程序。在我们的6.0版本中,我们的应用程序不支持DPI。在我们的6.1版本中,它突然变得支持DPI。在6.0版本中,如果您以高DPI运行它,它会使用Windows位图缩放,这很好,因为这不会影响屏幕布局。在6.1版本中,由于某种原因它变得可识别DPI,因此用户界面变得困惑。我们现在无法解决此问题。我们有数百个屏幕,因此让它们在DPI感知模式下正常工作需要花

c# - 屏幕分辨率与 Screen.Bounds 不匹配

我发现通过控制面板设置的分辨率与我的宽屏笔记本电脑的Screen.Bounds输出之间存在有趣的差异。屏幕为15.5",通过控制面板设置的分辨率为1920x1080。但是当我运行这样的代码时。Screen[]screens=Screen.AllScreens;foreach(Screenscrinscreens){Console.WriteLine("Width:"+scr.Bounds.Width+",Height:"+scr.Bounds.Width);}输出显示我的分辨率为1536x864。我环顾四周,我认为这可能与DPI问题有关,当我查看我的显示设置时,slider(我在Win

c# - 如何在 C# .NET 中获取 DPI?

我正在尝试使用C#构建Windows窗体应用程序。如何在.NET中获取DPI?我之前看过有DPIX和DPIY,可以在.NET中使用它们来获取当前的DPI。对吗?谢谢大家。 最佳答案 使用Graphics类的实例。您可以在表单中使用以下内容(可以在表单的Load事件处理程序中):floatdx,dy;Graphicsg=this.CreateGraphics();try{dx=g.DpiX;dy=g.DpiY;}finally{g.Dispose();} 关于c#-如何在C#.NET中获取

c# - 处理自动缩放的正确方法

我正在与另一位开发人员合作开发WinForms应用程序,我们在与自动缩放相关的外观方面遇到了很大的问题。我的系统(索尼VAIO)在此菜单上默认为125%:据我所知,125%将DPI设置为120,默认字体大小(菜单等)设置为11pt。在其他开发人员的系统上,他的默认值为100%,即96dpi和9pt字体。我不确定,但我认为只有DPI才是让我们感到悲伤的原因。问题表现为文本大小错误,或者覆盖了其他控件,或者间隔太远(取决于谁最后在设计器中打开它)。据我所知,所有ContainerControl都设置为AutoScaleMode.Inherit,顶级形式是AutoScaleMode.Dpi。