python实现仿手机QQ窗口抖动代码分享

以下是一个简单的python实现仿手机QQ窗口抖动代码示例,可以实现仿手机 QQ 窗口抖动的效果:

import time
import random
import ctypes

# 获取屏幕尺寸
user32 = ctypes.windll.user32
screen_width = user32.GetSystemMetrics(0)
screen_height = user32.GetSystemMetrics(1)

# 定义抖动函数
def shake(count=10, distance=5):
    x = 0
    y = 0
    for i in range(count):
        dx = random.randint(0, distance) - distance//2
        dy = random.randint(0, distance) - distance//2
        x += dx
        y += dy
        # 限制窗口位置在屏幕内
        x = max(0, min(screen_width, x))
        y = max(0, min(screen_height, y))
        # 设置窗口位置
        ctypes.windll.user32.SetCursorPos(x, y)
        time.sleep(0.05)
        # 取消设置窗口位置
        ctypes.windll.user32.SetCursorPos(-dx, -dy)
        time.sleep(0.05)

在这个python实现仿手机QQ窗口抖动代码示例中,我们首先使用 ctypes 模块来获取屏幕的尺寸。然后我们定义了一个名为 shake 的函数,它有两个可选参数:count 和 distance。count 参数表示抖动次数,distance 参数表示每次抖动的距离。

在 shake 函数内部,我们使用一个循环来生成一系列窗口位置调整的命令,用来让窗口抖动。在每次循环中,我们使用 random 模块来生成随机的 x 和 y 的偏移量,以便在水平和垂直方向上产生抖动的效果。我们同时还限制窗口的位置在屏幕内,以避免窗口位置超出屏幕范围。在设置完窗口位置后,我们使用 time 模块来暂停一段时间,以便让窗口停留在新的位置上。最后,我们使用 ctypes 模块再次调用 SetCursorPos 函数,将窗口位置还原回原来的位置。

最后,调用 shake 函数即可触发窗口抖动效果。