python获取当前窗口坐标

想用python做一个游戏脚本,但是游戏是一个独立窗口,每次窗口位置不同,坐标也不相同。
我会用pyautogui获取位置,但是没找到如何获取活动窗口。

用GPT作答:
要获取当前活动窗口的位置和坐标,你可以使用pygetwindow库。该库可以帮助你获取窗口的信息,包括位置和大小。以下是一个示例代码来获取当前活动窗口的位置:

首先,你需要安装pygetwindow库。使用以下命令可以安装它:

pip install pygetwindow

然后,你可以使用以下代码来获取当前活动窗口的位置:

import pygetwindow as gw

# 获取当前活动窗口
active_window = gw.getActiveWindow()

if active_window is not None:
    # 获取窗口的位置和大小
    x, y, width, height = active_window.left, active_window.top, active_window.width, active_window.height
    print("窗口位置:", x, y)
    print("窗口大小:", width, height)

这样,你就可以获取当前活动窗口的位置和坐标。然后,你可以使用pyautogui库来执行你的游戏脚本,利用这些位置信息来进行操作。

用pygetwindow库的getActiveWindow()

import pygetwindow as gw

def get_active_window_position():
    active_window = gw.getActiveWindow()
    if active_window is not None:
        return active_window.left, active_window.top
    else:
        return None

# 获取当前活动窗口的位置
window_position = get_active_window_position()

if window_position is not None:
    print("当前活动窗口的位置:", window_position)
else:
    print("没有找到活动窗口。")


  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7495648
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:使用python简单创建自动点击脚本,使用的是pyautogui
  • 除此之外, 这篇博客: 使用Python脚本完成视频播放中的 一、使用pyautogui库获取屏幕对应坐标 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 因为我使用XPath无法点击到页面的播放按钮,所以使用pyautogui库进行对应位置的点击,我的屏幕尺寸为1920×1080,在不最大化Chrom浏览器的情况下,获取到播放按钮的坐标为(676, 860)

    运行此程序,可以每秒输出鼠标对应的位置
    gainPosition.py

    import time
    import pyautogui
    
    try:
    
        # 获取当前屏幕的尺寸
        screenWidth, screenHeight = pyautogui.size()
        # 打印当前屏幕的尺寸
        print("Screen size: (%s %s)\n" % (screenWidth, screenHeight))
    
        while True:
            # 获取当前鼠标所停留位置的的坐标
            x, y = pyautogui.position()
            # 打印出当前鼠标所停留位置的的坐标
            print("Position : (%s, %s)\n" % ( x, y))
             # 每1s打印一次
            time.sleep(1)
    
    except KeyboardInterrupt:
        print('end')
    
  • 您还可以看一下 胡志恒老师的Python自动化测试九章经课程中的 测试库之pyautogui小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    解决方案

    根据参考资料中的代码,可以使用pyautogui库来获取当前活动窗口的坐标。以下是具体的解决方案:

    1. 首先,安装所需的库。在命令行中执行以下命令来安装必要的库:

    pip install pyautogui

    1. 编写一个Python脚本来获取当前活动窗口的坐标。可以使用以下代码:

    ```python import time import pyautogui

    try: while True: # 获取当前鼠标所停留位置的坐标 x, y = pyautogui.position() # 打印出当前鼠标所停留位置的坐标 print("Position: (%s, %s)\n" % (x, y)) # 每1秒打印一次 time.sleep(1)

    except KeyboardInterrupt: print('End') ```

    这段代码会不断输出鼠标的坐标,可以通过移动鼠标来获取当前活动窗口的坐标。

    1. 运行Python脚本,移动鼠标来获取当前活动窗口的坐标。

    打开命令行,进入Python脚本所在的目录,执行以下命令来运行脚本:

    python script.py

    当脚本运行时,通过移动鼠标,可以在命令行中实时获取当前活动窗口的坐标。

    注意:在运行脚本之前,需要确保所需的游戏窗口已经打开。

    通过以上步骤,就可以使用Python获取当前活动窗口的坐标了。

你看看这个回答,99%有用:


里面的代码是这样的:

import win32gui

hwnd = win32gui.FindWindow(None, '窗口标题')
rect = win32gui.GetWindowRect(hwnd)
x = rect[0]
y = rect[1]
print("窗口左上角X坐标:", x)
print("窗口左上角Y坐标:", y)