溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python實(shí)現(xiàn)關(guān)閉第三方窗口的方法

發(fā)布時(shí)間:2020-09-29 09:56:19 來(lái)源:腳本之家 閱讀:216 作者:saii 欄目:開發(fā)技術(shù)

背景

最近在測(cè)試一款軟件的關(guān)閉第三方窗口的功能,感覺(jué)實(shí)現(xiàn)應(yīng)該挺簡(jiǎn)單的。所以就嘗試了。由于說(shuō)它的實(shí)現(xiàn)是靠c++實(shí)現(xiàn)的,本人對(duì)c++實(shí)在不在行,但是python的第三方庫(kù)實(shí)際上是封裝了一套win32的api的 所以我們還是可以依靠python 來(lái)實(shí)現(xiàn)這個(gè)的。

實(shí)現(xiàn)

直接貼代碼吧 很簡(jiǎn)單

# -*- 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)

這里我們是直接讀取第三方的配置文件,配置文件的內(nèi)容就寫了 窗口標(biāo)題|窗口類名 的形式。所以我們就直接判斷窗口已經(jīng)窗口類名是否與配置文件一致,如果一致就發(fā)送關(guān)閉窗口的命令就可以了。

以上這篇python實(shí)現(xiàn)關(guān)閉第三方窗口的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI