diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 359bb53..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# 默认忽略的文件 -/shelf/ -/workspace.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 105ce2d..0000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index a6218fe..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 614b3c1..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/python.iml b/.idea/python.iml deleted file mode 100644 index d0876a7..0000000 --- a/.idea/python.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/change/change.py b/change/change.py index a11f0c4..e1d3389 100644 --- a/change/change.py +++ b/change/change.py @@ -1,4 +1,6 @@ import ctypes +import winreg +import shutil import sys import os from time import sleep @@ -9,12 +11,6 @@ import shelve def check_and_create_cmd_files(path): csso_cmd_path = os.path.join(path, 'csso.cmd') css_cmd_path = os.path.join(path, 'css.cmd') - hl2_exe_path = os.path.join(path, "hl2.exe") - - if not os.path.isfile(hl2_exe_path): - print('请把文件放置在游戏根目录下!') - sleep(1) - sys.exit() if not os.path.isfile(csso_cmd_path): with open(csso_cmd_path, 'w') as csso_file: @@ -28,8 +24,27 @@ def check_and_create_cmd_files(path): css_file.write('ren bin bin2\n') css_file.write('ren bin1 bin\n') +def get_steam_path(): + try: + # 从注册表读取 Steam 安装路径 + with winreg.OpenKey(winreg.HKEY_CURRENT_USER, r"Software\Valve\Steam") as key: + steam_path, _ = winreg.QueryValueEx(key, "SteamPath") + return steam_path + except FileNotFoundError: + print("未能找到 Steam 安装路径。") + return None -with shelve.open('main.db') as db: +def delete_csso_folder(steam_path): + target_folder = os.path.join(steam_path, "steamapps", "sourcemods", "csso") + + if os.path.exists(target_folder): + print(f"正在删除文件夹: {target_folder}") + shutil.rmtree(target_folder) # 递归删除文件夹及其内容 + print("文件夹已删除。") + else: + print(f"文件夹不存在: {target_folder}") + +with shelve.open('main') as db: # 如果数据库中没有 'bin_name',返回 '1'(默认值) bin_name = db.get('bin_name', '1') @@ -37,7 +52,6 @@ with shelve.open('main.db') as db: bin_name = '1' # 这里设为字符串以保持一致 db['bin_name'] = bin_name - def is_admin(): """检查当前是否有管理员权限""" try: @@ -45,7 +59,6 @@ def is_admin(): except: return False - if is_admin(): # 如果已经是管理员,执行主要的逻辑 print("已获得管理员权限") @@ -56,7 +69,7 @@ if is_admin(): print(f"当前模式(1为CS原版, 2为CS:SO): {bin_name}") print("请选择模式") - print("1. 改为CS:SO\n2. 改回原版\n3. 退出") + print("1. 改为CS:SO\n2. 改回原版\n3. 删除CSSO并删除程序\n4. 退出") choice = input('>>> ') @@ -67,12 +80,11 @@ if is_admin(): sys.exit() # 启动 csso.cmd os.startfile(os.path.join(path, 'csso.cmd')) - with shelve.open('main.db') as db: + with shelve.open('main') as db: db['bin_name'] = '2' # 切换至 CS:SO print("完成!") sleep(1.85) sys.exit() - elif choice == '2': if bin_name == '1': print("错误,你已是原版!") @@ -80,15 +92,30 @@ if is_admin(): sys.exit() # 启动 css.cmd os.startfile(os.path.join(path, 'css.cmd')) - with shelve.open('main.db') as db: + with shelve.open('main') as db: db['bin_name'] = '1' # 切换至 CS 原版 print("完成!") sleep(1.55) sys.exit() - elif choice == '3': - sys.exit() + if input('确定吗?\n 1.确定 2.不确定\n>>>') == '1': + with open('del.cmd','w') as d: + d.write('@echo off\n') + d.write('timeout /t 2 /nobreak > nul\n') + d.write('del /Q csso.cmd css.cmd change.exe main.bak main.dat main.dir\n') + d.write('del "%~f0"') + if bin_name != '1': + os.startfile(path,'css.cmd') + steam_path = get_steam_path() + if steam_path: + delete_csso_folder(steam_path) + os.rmdir(f'{path}\\bin2') + os.startfile(os.path.join(path , 'del.cmd')) + else: + sys.exit() + elif choice == '4': + sys.exit() else: print("输入错误!") diff --git a/dist/.keep b/dist/.keep deleted file mode 100644 index e69de29..0000000