我有一些代码使用python创建一个锁定屏幕,删除任务栏并阻止他们离开。但是,当他们获得正确的密码时,它不会使任务栏返回。该命令在cmd中有效,但在python中不起作用。
以下是代码:
import os
from tkinter import*
import time
run = input("Do you want to lock your computer? ")
if run == "yes":
a=Tk()
a.overridedirect(1)
w, h = a.winfo_screenwidth(), a.winfo_screenheight()
a.geometry("%dx%d+0+0" % (w, h))
os.system('taskkill /f /im explorer.exe')
a.attributes("-topmost", True)
L1 = Label(a, text="Please enter the password to continue: ")
L1.pack( side =TOP)
Ebox = Entry(a, bd =5)
Ebox.pack(side =TOP)
Ebox.config(show="*");
def check():
if Ebox.get() == "password":
time.sleep(0.3)
os.system('powershell -command "Invoke-item c:\windows/explorer.exe"') # This line does not execute the command
a.destroy()
b = Button(a, text="submit", command=check )
b.pack(side=TOP)
a.mainloop()
答案 0 :(得分:0)
清理完代码后,它对我有用:
import os
from tkinter import*
import time
run = input("Do you want to lock your computer? ")
if run == "yes":
a=Tk()
a.overrideredirect(1)
w, h = a.winfo_screenwidth(), a.winfo_screenheight()
a.geometry("%dx%d+0+0" % (w, h))
os.system('taskkill /f /im explorer.exe')
a.attributes("-topmost", True)
L1 = Label(a, text="Please enter the password to continue: ")
L1.pack( side =TOP)
Ebox = Entry(a, bd =5)
Ebox.pack(side =TOP)
Ebox.config(show="*");
def check():
print("Hello")
typed=Ebox.get()
print(typed)
if typed == "password":
time.sleep(0.3)
print("Ok")
os.system('powershell -command "invoke-item c:\windows/explorer.exe"') # this line does not execute the command
a.destroy()
b = Button(a, text="submit", command=check)
b.pack(side=TOP)
a.mainloop()