欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]python写的一个窗口抖动

[原创]python写的一个窗口抖动

我这里是python2.7.5。必须安装wxpython,必须安装pywin32,注意安装对应自己的机器的版本。

#coding:gbk

import random  

import win32gui  

import win32api,win32con  

import ctypes 

import wx

def doudong(event):

    #定义结构体,存储当前窗口坐标  

    class RECT(ctypes.Structure):  

        _fields_ = [('left', ctypes.c_int),  

                         ('top', ctypes.c_int),  

                        ('right', ctypes.c_int),  

                        ('bottom', ctypes.c_int)]  

    rect = RECT() 

    HWND = win32gui.GetForegroundWindow()#获取当前窗口句柄  

    ctypes.windll.user32.GetWindowRect(HWND, ctypes.byref(rect))#获取当前窗口坐标  

    for i in range(2,200):  

            win32gui.SetWindowPos(

                                               HWND, None, rect.left+5*random.randint(1,i), 

                                               rect.top-5*random.randint(1,i), rect.right-rect.left, 

                                               rect.bottom-rect.top, 

                                               win32con.SWP_NOSENDCHANGING|win32con.SWP_SHOWWINDOW)#实现更改当前窗口位置  

            win32gui.SetWindowPos(

                                            HWND, None, rect.left, rect.top, rect.right-rect.left, 

                                            rect.bottom-rect.top, 

                                            win32con.SWP_NOSENDCHANGING|win32con.SWP_SHOWWINDOW)#将窗口恢复至初始位置

app = wx.App()

win = wx.Frame(None,title="My Test Program",size=(400,300))

bkg = wx.Panel(win)

loadButton = wx.Button(bkg,label="点击我抖动几下")

loadButton.Bind(wx.EVT_BUTTON,doudong)

hbox = wx.BoxSizer( )

hbox.Add(loadButton,proportion=1,flag=wx.CENTER,border=5)

vbox = wx.BoxSizer(wx.VERTICAL)

vbox.Add(hbox,proportion=0,flag=wx.EXPAND | wx.ALL,border=5)

bkg.SetSizer(vbox)

win.Show()

app.MainLoop()


我用py2exe打包成exe文件之后,在XP下运行提示不是一个有效的win32程序。win7下运行窗口一闪而过。我的操作系统是WIN7 AMD64,运行正常。

上传的附件 QQ截图20130917222431.png
QQ截图20130917222514.png

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功