草庐IT

GetDeviceCaps

全部标签

windows - 远程桌面中的物理屏幕分辨率大小更改

在远程桌面session中使用MFC应用程序时,屏幕分辨率不正确。我有一个mfc应用程序TestMFC。在我的机器上,如果我使用HDCscreen=::GetDC(0);intdpiX=GetDeviceCaps(screen,HORZSIZE);intdpiY=GetDeviceCaps(screen,VERTSIZE);给出564和318,而当我的应用程序在远程桌面session中执行时,它给出320和240。虽然像素大小保持不变,为1600和900。我在远程桌面屏幕设置中使用全屏设置。 最佳答案 HORZSIZE尝试以毫米为单

c++ - 无法检测 Windows 字体大小何时更改 C++ MFC

我正在尝试确定如何检测用户何时将Windows字体大小从普通字体更改为超大字体,通过在WindowsXP计算机上执行以下步骤来选择字体大小:右键单击桌面并选择“属性”。单击“外观”选项卡。选择字体大小:普通/大字体/超大字体我的理解是字体大小的变化会导致DPI的变化,所以这是我目前尝试过的方法。我的目标:我想检测Windows字体大小何时从普通字体更改为大字体或超大字体,并根据字体大小的变化采取一些措施。我假设当Windows字体大小发生变化时,DPI也会发生变化(尤其是当大小为ExtraLargeFonts时到目前为止我尝试了什么:我收到几条消息,包括:WM_SETTINGCHANG

windows - 所有 Windows PC 显示器上的每英寸像素数都是标准的吗? (LogPixelsX) 在 GetDeviceCaps WinAPI 调用中

我所说的WindowsPC显示器并不是指WindowsCE或手持设备等。澄清下面的一些人误以为我在问显示器上的DPI(每英寸点数)是多少。我要的是GetCaps中LogPixelsX的值API调用:LOGPIXELSX沿屏幕宽度的每逻辑英寸像素数。在我看到的示例中,它设置为88,不管屏幕DPI。似乎是一个神奇的数字类型的常量。在相关Question我正在使用GetDeviceCaps来计算当前的屏幕字体DPI。我查到的代码示例都有:常量LOGPIXELSX=88这对所有显示器来说都是一样的吗(甚至是宽屏显示器还是普通显示器)?如果没有,我如何为当前显示找到它。(MSDN表示它对于特定计

c# - 如何获取 Windows 显示设置?

Windows7中有显示设置(控制面板->显示)。它允许更改屏幕上文本和其他项目的大小。我需要获得此设置才能根据设置值打开/关闭我的C#应用程序中的某些功能。这可能吗? 最佳答案 graphics.DpiX和DeviceCap.LOGPIXELSX在SurfacePro上的所有缩放级别都返回96。相反,我设法以这种方式计算比例因子:[DllImport("gdi32.dll")]staticexternintGetDeviceCaps(IntPtrhdc,intnIndex);publicenumDeviceCap{VERTRES=

c# - 如何获取 Windows 显示设置?

Windows7中有显示设置(控制面板->显示)。它允许更改屏幕上文本和其他项目的大小。我需要获得此设置才能根据设置值打开/关闭我的C#应用程序中的某些功能。这可能吗? 最佳答案 graphics.DpiX和DeviceCap.LOGPIXELSX在SurfacePro上的所有缩放级别都返回96。相反,我设法以这种方式计算比例因子:[DllImport("gdi32.dll")]staticexternintGetDeviceCaps(IntPtrhdc,intnIndex);publicenumDeviceCap{VERTRES=