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制作属于你自己的个性logo

十分钟利用Python制作属于你自己的个性logo

前言 词云的使用相信大家已经不陌生了,使用很简单,直接调用wordcloud包就可以了。它的主要功能是根据文本词汇和词汇频率生成图片,从中可以直观的看出各个词汇所占比重。 之前我们也介绍...

详谈在flask中使用jsonify和json.dumps的区别

详谈在flask中使用jsonify和json.dumps的区别

flask提供了jsonify函数供用户处理返回的序列化json数据,而python自带的json库中也有dumps方法可以序列化json对象,那么在flask的视图函数中return它...

将string类型的数据类型转换为spark rdd时报错的解决方法

在将string类型的数据类型转换为spark rdd时,一直报这个错,StructType can not accept object %r in type %s” % (obj, t...

进一步探究Python的装饰器的运用

装饰器在 python 中用的相当广泛,如果你用过 python 的一些 web 框架,那么一定对其中的 “ route() 装饰器” 不陌生,今天咱们再看一个具体的案例。 咱们来模拟一...

Django异步任务线程池实现原理

这篇文章主要介绍了Django异步任务线程池实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 当数据库数据量很大时(百万级),许...