レジストリでタスクマネージャーの実行をブロックするように
This commit is contained in:
parent
4d391c7a9a
commit
0b03527e33
1 changed files with 9 additions and 24 deletions
|
@ -4,9 +4,7 @@ import json
|
||||||
import customtkinter
|
import customtkinter
|
||||||
from winotify import Notification, audio
|
from winotify import Notification, audio
|
||||||
import keyboard
|
import keyboard
|
||||||
import wmi
|
|
||||||
import subprocess
|
import subprocess
|
||||||
import asyncio
|
|
||||||
|
|
||||||
class App(customtkinter.CTk):
|
class App(customtkinter.CTk):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -20,11 +18,12 @@ class App(customtkinter.CTk):
|
||||||
self.restore_button = customtkinter.CTkButton(self.frame, text='認証ウィンドウを再表示', command=self.handler_close, width=240)
|
self.restore_button = customtkinter.CTkButton(self.frame, text='認証ウィンドウを再表示', command=self.handler_close, width=240)
|
||||||
self.restore_button.grid(row=0, column=0)
|
self.restore_button.grid(row=0, column=0)
|
||||||
|
|
||||||
asyncio.run(self.task_watcher_run())
|
self.block_taskmgr
|
||||||
self.block_key()
|
self.block_key()
|
||||||
lock = Lock()
|
lock = Lock()
|
||||||
|
|
||||||
def exit(self):
|
def exit(self):
|
||||||
|
self.unlock_taskmgr()
|
||||||
self.toast()
|
self.toast()
|
||||||
self.destroy()
|
self.destroy()
|
||||||
|
|
||||||
|
@ -33,6 +32,12 @@ class App(customtkinter.CTk):
|
||||||
for i in block_keys:
|
for i in block_keys:
|
||||||
keyboard.block_key(i)
|
keyboard.block_key(i)
|
||||||
|
|
||||||
|
def block_taskmgr(self):
|
||||||
|
subprocess.run(['reg', 'add', 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System', '/v', 'DisableTaskMgr', '/t', 'REG_DWORD', '/d', '1'])
|
||||||
|
|
||||||
|
def unlock_taskmgr(self):
|
||||||
|
subprocess.run(['reg', 'delete', 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System', '/v', 'DisableTaskMgr', '/f'])
|
||||||
|
|
||||||
def toast(self):
|
def toast(self):
|
||||||
resource_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "resource")
|
resource_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "resource")
|
||||||
success = Notification(
|
success = Notification(
|
||||||
|
@ -44,24 +49,6 @@ class App(customtkinter.CTk):
|
||||||
success.set_audio(audio.Default, loop=False)
|
success.set_audio(audio.Default, loop=False)
|
||||||
success.show()
|
success.show()
|
||||||
|
|
||||||
async def task_watcher_run(self):
|
|
||||||
taskmgr_killer = asyncio.create_task(self.task_watcher())
|
|
||||||
|
|
||||||
async def task_watcher(self):
|
|
||||||
c=wmi.WMI()
|
|
||||||
cre_process_watcher=c.Win32_Process.watch_for("creation")
|
|
||||||
del_process_watcher=c.Win32_Process.watch_for("deletion")
|
|
||||||
|
|
||||||
self.i = 1
|
|
||||||
|
|
||||||
while self.i == 1:
|
|
||||||
new_cre_process=cre_process_watcher()
|
|
||||||
new_del_process=del_process_watcher()
|
|
||||||
print(new_cre_process.Caption+" has been created")
|
|
||||||
if new_cre_process.Caption == "Taskmgr.exe":
|
|
||||||
taskmgr_kill = subprocess.run(['taskkill', '/im', 'Taskmgr.exe'])
|
|
||||||
print(new_del_process.Caption+" has been deleted ")
|
|
||||||
|
|
||||||
def handler_close(self):
|
def handler_close(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -121,9 +108,6 @@ class Lock(customtkinter.CTkToplevel):
|
||||||
self.destroy()
|
self.destroy()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
config_dir_path = "./config/"
|
config_dir_path = "./config/"
|
||||||
db_config_path = config_dir_path + "db.json"
|
db_config_path = config_dir_path + "db.json"
|
||||||
if not os.path.isfile(db_config_path):
|
if not os.path.isfile(db_config_path):
|
||||||
|
@ -147,3 +131,4 @@ if __name__ == '__main__':
|
||||||
app = App()
|
app = App()
|
||||||
app.protocol("WM_DELETE_WINDOW", app.handler_close)
|
app.protocol("WM_DELETE_WINDOW", app.handler_close)
|
||||||
app.mainloop()
|
app.mainloop()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue