python实现关闭第三方窗口的方法

yipeiwu_com6年前Python基础

背景

最近在测试一款软件的关闭第三方窗口的功能,感觉实现应该挺简单的。所以就尝试了。由于说它的实现是靠c++实现的,本人对c++实在不在行,但是python的第三方库实际上是封装了一套win32的api的 所以我们还是可以依靠python 来实现这个的。

实现

直接贴代码吧 很简单

# -*- coding: utf-8 -*-
from win32gui import *
import win32gui
import win32con
from time import sleep

def foo(hwnd,mouse):
  global config_contents
  if IsWindow(hwnd) and IsWindowEnabled(hwnd) and IsWindowVisible(hwnd):
    for content in config_contents:
      ads_info = []
      if not '|' in content :
        continue
      else:
        ads_info = content.split('|')
      if GetClassName(hwnd)==ads_info[1] and GetWindowText(hwnd)==ads_info[0]:
        win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)


config_file = open("C:\\1.txt","r")
config_contents = config_file.readlines()
while 1:
  EnumWindows(foo, 0)
  sleep(0.5)

这里我们是直接读取第三方的配置文件,配置文件的内容就写了 窗口标题|窗口类名 的形式。所以我们就直接判断窗口已经窗口类名是否与配置文件一致,如果一致就发送关闭窗口的命令就可以了。

以上这篇python实现关闭第三方窗口的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

深入理解Python中的super()方法

前言 python的类分别有新式类和经典类,都支持多继承。在类的继承中,如果你想要重写父类的方法而不是覆盖的父类方法,这个时候我们可以使用super()方法来实现 python语言与C+...

Python基于二分查找实现求整数平方根的方法

本文实例讲述了Python基于二分查找实现求整数平方根的方法。分享给大家供大家参考,具体如下: x=int(raw_input('please input a int:')) if...

python生成式的send()方法(详解)

随便在网上找了找,感觉都是讲半天讲不清楚,这里写一下。 def generator(): while True: receive=yield 1 print('e...

异步任务队列Celery在Django中的使用方法

异步任务队列Celery在Django中的使用方法

前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务。在同事的指引下接触了Celery...

Python交换变量

如: 代码如下:a, b, c = b, c, a来个复杂一点的例子,再来一顿家喻户晓的“冒泡排序”吧: 代码如下:array =...