diff --git a/dislocker_client.py b/dislocker_client.py index 79c5bd7..f2e68fc 100644 --- a/dislocker_client.py +++ b/dislocker_client.py @@ -14,6 +14,8 @@ import threading import signal import sys import shutil +import time + app_name = "Dislocker" dislocker_dir = os.path.dirname(os.path.abspath(sys.argv[0])) @@ -98,28 +100,37 @@ class App(customtkinter.CTk): print(f"エラー: 指定されたディレクトリ {dir_path} が存在しません。") return 1 - try: - # プロセスの終了 - subprocess.run(['taskkill', '/f', '/t', '/im', process_name]) - print(f"{process_name} を終了しました。") + i = 0 + i_max = 10 + result = 1 + while i != i_max: + i += 1 + try: + # プロセスの終了 + subprocess.run(['taskkill', '/f', '/t', '/im', process_name]) + print(f"{process_name} を終了しました。") + time.sleep(0.1) + # ディレクトリの削除 + shutil.rmtree(dir_path) + if os.path.isdir(dir_path): + pass + else: + print(f"{dir_path} を削除しました。") + result = 0 + i = i_max - # ディレクトリの削除 - shutil.rmtree(dir_path) - print(f"{dir_path} を削除しました。") + except subprocess.CalledProcessError as e: + print(f"プロセス終了エラー: {e}") + + except PermissionError as e: + print(f"権限エラー: {e}") + + except Exception as e: + print("エラーが発生しました。\nエラー内容:") + print(f"エラータイプ: {e.__class__.__name__}") + print(f"エラー引数: {e.args}") + print(f"エラーメッセージ: {str(e)}") - return 0 - except subprocess.CalledProcessError as e: - print(f"プロセス終了エラー: {e}") - return 1 - except PermissionError as e: - print(f"権限エラー: {e}") - return 1 - except Exception as error: - print("エラーが発生しました。\nエラー内容:") - print(f"エラータイプ: {error.__class__.__name__}") - print(f"エラー引数: {error.args}") - print(f"エラーメッセージ: {str(error)}") - return 1 def block_key(self): block_keys = ['ctrl', 'alt', 'windows', 'shift', 'delete']