安装包:
pip install pypiwin32
注:别install win32gui,上面这个就可以
实例,当然还是用之前那个监测脚本
#-*-
encoding: utf-8 -*-
#@author ilvuniverse
'''@function:
monitor system: if create a file ,it will delete it ;
and
write all events added time in the head in log file;
'''
import
re
import
os
import
sys
import
time
import
logging
import win32gui,
win32con
#导入包
from
watchdog.observers import Observer
from
watchdog.events import FileSystemEventHandler
def
mlog(log):
m=open('monitorlog.txt','a')
print("-"*64)
print("Writing
log in monitorlog.txt")
date=time.strftime('%Y/%m/%d
%H:%M:%S',time.localtime(time.time()))
date=str(date)
msg=date+"
- "+log
m.write(msg+"\n\n")
m.close()
class
MyHandler(FileSystemEventHandler):
def
on_created(self, event):
what
= 'directory' if event.is_directory else 'file'
action="Creadted
a file: "+ str(event.src_path)
#print("-"*64)
#print(action)
#mlog(action)
print("-"*64)
#print("Will
del it after
30s")
#time.sleep(30)
#file=str(event.src_path)
#os.popen('del
'+'"'+file+'"')
def
on_modified(self,event):
what
= 'directory' if event.is_directory else 'file'
action="Modified
a file: "+ str(event.src_path)
#print("-"*64)
#print(action)
reg=re.search(r'(.+?).txt.(.+?)',str(event.src_path))
if(reg):
print("-"*64)
print("Will
not del it: ",event.src_path)
else:
print("-"*64)
print("Will
del it: ",event.src_path)
action="Creadted
a file: "+
str(event.src_path)
mlog(action)
time.sleep(1)
file=str(event.src_path)
os.popen('del
'+'"'+file+'"')
def
on_deleted(self, event):
what
= 'directory' if event.is_directory else 'file'
action="Deleted
: "+ str(event.src_path)
print("-"*64)
print(action)
mlog(action)
if
__name__ == "__main__":
#path=input("Please
input path to be monitored:\n")
path="D:\\0chmd"
Minimize
= win32gui.GetForegroundWindow()
#获取窗口句柄
print("Will
monitor: "+str(path)+"\r\n")
print("Will
minimize the window after 10s\r\n")
event_handler
= MyHandler()
observer
= Observer()
observer.schedule(event_handler,
path, recursive=True)
for
i in range(1,11)[::-1]:
time.sleep(1)
print(str(i)+"
s\r\n")
print("Minimizing...\r\n")
win32gui.ShowWindow(Minimize,
win32con.SW_MINIMIZE)
#最小化
observer.start()
try:
while
True:
time.sleep(1)
except
KeyboardInterrupt:
observer.stop()
observer.join()
0x04
运行
============ RESTART:
C:\Users\Administrator\Desktop\monitor_a.py
============
Will monitor: D:\0chmd
Will minimize the window after
10s
10 s
9 s
8 s
7 s
6 s
5 s
4 s
3 s
2 s
1 s
Minimizing...