环境: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