2024-09-23 18:25:03 +08:00
|
|
|
import ctypes
|
2024-09-23 17:58:49 +08:00
|
|
|
import sys
|
2024-09-23 18:25:03 +08:00
|
|
|
import os
|
|
|
|
from time import sleep
|
2024-09-24 12:55:54 +08:00
|
|
|
import shelve
|
2024-09-23 18:25:03 +08:00
|
|
|
|
|
|
|
path = os.getcwd()
|
2024-09-24 12:55:54 +08:00
|
|
|
with shelve.open('main.db') as db:
|
|
|
|
bin_name = db['bin_name']
|
|
|
|
db.close()
|
2024-09-23 18:25:03 +08:00
|
|
|
print(path)
|
|
|
|
|
|
|
|
def is_admin():
|
|
|
|
# 检查当前是否有管理员权限
|
|
|
|
try:
|
|
|
|
return ctypes.windll.shell32.IsUserAnAdmin()
|
|
|
|
except:
|
|
|
|
return False
|
|
|
|
|
|
|
|
if is_admin():
|
|
|
|
# 如果已经是管理员,执行主要的逻辑
|
2024-09-24 12:55:54 +08:00
|
|
|
while True:
|
2024-09-23 18:25:03 +08:00
|
|
|
print("已获得管理员权限")
|
2024-09-24 12:55:54 +08:00
|
|
|
print(f"当前模式(1为cs原版,2为csso):{bin_name}")
|
2024-09-23 18:25:03 +08:00
|
|
|
print("请选择模式")
|
|
|
|
print("1.改为csso 2.改回原版 3.退出")
|
|
|
|
ip = input(int('>>>'))
|
|
|
|
|
|
|
|
# 逻辑系统bin2为csso文件 bin1为cs原版文件 bin为现在使用的游戏文件
|
2024-09-24 12:55:54 +08:00
|
|
|
if ip == int(1):
|
|
|
|
if bin_name == int(1):
|
|
|
|
print('错误,你已是原版')
|
|
|
|
sleep(1.5)
|
|
|
|
sys.exit()
|
2024-09-23 18:25:03 +08:00
|
|
|
os.system(f"ren {path}/bin {path}/bin1")
|
|
|
|
os.system(f"ren {path}/bin2 {path}/bin")
|
2024-09-24 12:55:54 +08:00
|
|
|
with shelve.open('main.db') as db:
|
|
|
|
db['bin_name'] = int(1)
|
|
|
|
db.close()
|
2024-09-23 18:25:03 +08:00
|
|
|
print("完成!")
|
|
|
|
sleep(1.85)
|
2024-09-24 12:55:54 +08:00
|
|
|
sys.exit()
|
|
|
|
elif ip == int(2):
|
|
|
|
if bin_name == int(2):
|
|
|
|
print("错误,你已是csso!")
|
|
|
|
sleep(1.5)
|
|
|
|
sys.exit()
|
2024-09-23 18:25:03 +08:00
|
|
|
os.system(f"ren {path}/bin {path}/bin2")
|
|
|
|
os.system(f"ren {path}/bin1 {path}/bin")
|
2024-09-24 12:55:54 +08:00
|
|
|
with shelve.open('main.db') as db:
|
|
|
|
db['bin_name'] = int(2)
|
|
|
|
db.close()
|
2024-09-23 18:25:03 +08:00
|
|
|
print("完成!")
|
|
|
|
sleep(1.55)
|
2024-09-24 12:55:54 +08:00
|
|
|
sys.exit()
|
|
|
|
elif ip == int(3):
|
2024-09-23 18:25:03 +08:00
|
|
|
sys.exit()
|
|
|
|
else:
|
|
|
|
print("输入错误!")
|
2024-09-23 17:58:49 +08:00
|
|
|
|
2024-09-23 18:25:03 +08:00
|
|
|
else:
|
|
|
|
# 如果没有管理员权限,重新以管理员权限运行脚本
|
|
|
|
print("请求管理员权限...")
|
|
|
|
# 使用 `ctypes` 模块提升权限,重新运行脚本
|
|
|
|
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join(sys.argv), None, 1)
|