雪辉 发表于 2021-5-21 01:04

Python 关闭某个打开的软件或目录

本帖最后由 雪辉 于 2022-5-31 15:24 编辑

# 用于禁止用户打开指定的文件或目录
import win32gui
import win32con
import time

def exe_is_active():
    while True:
      time.sleep(0.2)
      try:
            # 关闭文件或目录,使用模糊查询
            hld = FindWinHwnd(u" - 脚本")
            if str(hld) != "0":
                time.sleep(0.2)
                win32gui.PostMessage(hld, win32con.WM_CLOSE, 0, 0)
                time.sleep(0.1)
                print("已关闭txt")

            # 关闭文件或目录,精准查询
            hld = win32gui.FindWindow(None, u"公用")
            if str(hld) != "0":
                time.sleep(0.2)
                win32gui.PostMessage(hld, win32con.WM_CLOSE, 0, 0)
                time.sleep(0.1)
                print("已关闭目录")
      except:
            print("速度过快报错")

# 模糊查询
def FindWinHwnd(title, top=True):
    titles = []
    def foo(hwnd, mouse):
      if top:
            if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):
                if title in win32gui.GetWindowText(hwnd):
                  titles.append(hwnd)
                  return titles
      else:
            if title in win32gui.GetWindowText(hwnd):
                titles.append(hwnd)
    win32gui.EnumWindows(foo, 0)
    if titles:
      return titles
    else:
      return 0


if __name__ == '__main__':
    exe_is_active()

link2333 发表于 2021-5-21 01:11

谢谢楼主分享啦

Boyfri_End 发表于 2021-5-21 01:12

简单明了,我来试试看运行效率如何

18337045351 发表于 2021-5-21 01:48

写的很直白,不错!

jjl 发表于 2021-5-21 08:43

正在学习中,谢谢分享

cyl279 发表于 2021-5-21 09:22

感谢分享

woshidyj 发表于 2021-5-21 10:29

学习学习,感谢分分享
页: [1]
查看完整版本: Python 关闭某个打开的软件或目录