2017-01-29 4 views
1

私は、タスクバーを削除して終了させるpythonを使ってロック画面を作成するコードをいくつか持っています。しかし、パスワードを正しく取得しても、タスクバーが戻ってくることはありません。コマンドはcmdで動作しますが、Pythonでは動作しません。python 3.4 - コマンドを実行していないos.system

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

、私はそれをテストし、それがために正常に動作しているようです私。 os.systemはそのコマンドで適切にエクスプローラを起動しています。新しいウィンドウでpythonが実行されたかどうかを確認することができます。 – iamnotgoogle

+0

新しいPythonウィンドウでタスクバーを単独で取得するためのコードをテストしましたが、まだ動作しませんでした。それはcmdを開いていて、何もせずにcmdを開いたままにしていました。 –

+0

python 2.7でテストできますか?私はPython 2.7をデフォルトで有効にしています。 (これはプログラムからの奇妙な行動がtaskkillコマンドを検討している他の事が稼働しており、これはありませんが、どちらかの両方が動作するはずです、またはその両方がないはず) – iamnotgoogle

答えて

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() 
+0

は、あなたが時間がかかった場合はあなたの答えが良いだろうあなたに –

+0

そんなにありがとうどのような重要な変更を行ったのかを説明します。そうでなければ、読者はあなたの解を元の解と行ごとに比較する必要があります。 –

関連する問題