当前位置: 首页 > 面试题库 >

Win32api没有使用python中的GetCursorPos()提供正确的坐标

濮阳和泰
2023-03-14
问题内容

当使用pywin的win32api时,我得到的光标位置值不正确。我的屏幕分辨率为1920x1080,但是当我使用GetCursorPos()时,左上角为(0,0),右下角为(1535,863)。我使用的代码如下:

import win32api

def getCursor():
    print win32api.GetCursorPos()

我正在Windows 10上使用python 2.7进行尝试,但在Windows 8上的python
2.6中也遇到了此错误。是否有解决方案或解决此问题的方法?


问题答案:

您需要进行DPI虚拟化。您的应用程序尚未声明自己意识到DPI高,并且字体缩放比例为125%。

如果要避免DPI虚拟化,请在应用程序清单中添加高DPI感知选项,或调用SetProcessDPIAwareSetProcessDPIAwareness



 类似资料:
  • 问题内容: 我在Windows 7上使用python 3.4。为了打开一个doc文件,我正在使用此代码 我不确定为什么每次都会弹出此错误 ImportError:没有名为win32api的模块 虽然我已经从http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32安装了pywin32, 并且我还检查了导入路径…我也尝试过重新安装pywin32,但这并没有消

  • 问题内容: 我只是熟悉Apache JackRabbit。我已经完成了一些用于文档管理的多用户存储库。 如果有人同时使用它们,您能回答这些问题吗? ModeShape是否以某种方式链接到JBoss?我对JBoss AS或任何其他JBoss工具没有太多经验。我看到了对tomcat的支持,但是有很多JBossy的东西 文档说将来的发行版应该具有UI集成,这还有很长的路要走吗?它将是什么样的UI集成?是

  • 我在安装了Javajdk(和jre)1.6的Unix机器上通过Eclipse Juno生成了一个ant文件。当在build.xml文件所在的eclipse之外的机器上运行ant时,一切都很顺利。 现在,问题是当我尝试在另一台机器上运行ant时,其中jdk和jre 1.6都安装了。这是我在运行RedHat 3的另一台机器上得到的结果(无法更改): 当我在build.xml文件中添加这一行时,我得到以

  • 我使用的是没有Spring的MyBatis。我还必须使用另一个API提供的JDBC连接。 所以我创建了我的SqlSession,如下所示: 然后在我的代码中: 然而,我发现调用session.commit()什么也不做(即没有找到关于提交的日志),并且更改确实没有提交。似乎MyBatis的提交()由于某种原因被忽略了。 如果我不强制autocommit为false,更改将被提交(无需调用sessi

  • 问题内容: 我无法弄清楚为什么这会给我错误,我尝试插入的实际字符串长度为74个字符,它是: 在插入它之前,我曾尝试过,但同样的问题也在发生,数据库只有一列,这是一个TEXT值。 我已经待了好几个小时了,无法弄清楚到底发生了什么。 问题答案: 你需要传递一个序列,但是你忘记了使参数成为元组的逗号: 没有逗号,只是一个分组表达式,而不是一个元组,因此该字符串被视为输入序列。如果该字符串的长度为74个字

  • 我正在更新使用Spring3.1框架的RestTemplate类的exchange方法的遗留代码。我发现似乎是一个重大的细节遗漏。当我试图与之通信的rest客户机返回400状态代码时,将抛出HttpClientErrorException,但没有响应体来提供服务器拒绝请求的详细信息。似乎没有方法检索响应体,这将提供非常有用的信息。 我不需要找出我的调用代码中的错误,因为我已经做到了。我只想知道如果