关闭windows下所有打开的窗口(Python实现遍历windows所有窗口并输出窗口标题的方法)

环境:python3.6+win7

#! /usr/bin/env python 
# -*- coding: utf-8 -*- 
import win32gui
from win32.lib import win32con
from win32gui import *

#设置无重复的集
titles = set() 
def foo(hwnd,mouse):  
#判断是不是窗口、是不是可用的、是不是可见的
  if IsWindow(hwnd) and IsWindowEnabled(hwnd) and IsWindowVisible(hwnd):
      #把得到的结果赋值给a
      a=win32gui.GetWindowText(hwnd)
      #打出
      print(win32gui.GetWindowText(hwnd))
      #不为空时
      if a!='':      
        #当'Program Manager'不在a内时:
        if 'Program Manager' not in a:
          if '开始' not in a:
              if '管理员' not in a:
                  #关闭窗口
                  win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)
                  #最小化窗口
                  #win32gui.ShowWindow(hwnd, win32con.SW_MINIMIZE)
      #把所有的窗口添加到titles集内
      titles.add(GetWindowText(hwnd)) 



# 将软件窗口置于最前
#win32gui.SetForegroundWindow(hwnd)

if __name__ == '__main__':
  #枚举所有窗体,同时调用foo函数
  EnumWindows(foo, 0) 
  lt = [t for t in titles if t] 
  lt.sort() 
  for t in lt: 
    print(t)

以上代码的缺点:

无法关闭“360安全卫士”弹出的广告窗口!

谁有没有办法搞定“360安全卫士”的弹出窗口广告?太恶心了,我宁可付费,也不要广告!

恳请“360安全卫士”推出付费和免费两个版本吧!拜托了!

转载:

https://www.jb51.net/article/62140.htm

http://blog.sina.com.cn/s/blog_3fe961ae0102uzh8.html

参考:

http://www.cnblogs.com/klb561/p/9392560.html

https://www.programcreek.com/python/example/10639/win32gui.EnumWindows

https://www.2cto.com/kf/201605/506365.html

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页