feat: 听泉cursor助手v2.0.5版本 - 优化启动流程,解决多次弹窗问题

This commit is contained in:
huangzhenpc
2025-02-11 18:24:50 +08:00
parent 2b48478746
commit f50f815ea0
2 changed files with 20 additions and 17 deletions

View File

@@ -16,16 +16,23 @@ from cursor_auth_manager import CursorAuthManager
def get_hardware_id() -> str:
"""获取硬件唯一标识"""
try:
# 创建startupinfo对象来隐藏命令行窗口
startupinfo = None
if sys.platform == "win32":
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
startupinfo.wShowWindow = subprocess.SW_HIDE
# 获取CPU信息
cpu_info = subprocess.check_output('wmic cpu get ProcessorId').decode()
cpu_info = subprocess.check_output('wmic cpu get ProcessorId', startupinfo=startupinfo).decode()
cpu_id = cpu_info.split('\n')[1].strip()
# 获取主板序列号
board_info = subprocess.check_output('wmic baseboard get SerialNumber').decode()
board_info = subprocess.check_output('wmic baseboard get SerialNumber', startupinfo=startupinfo).decode()
board_id = board_info.split('\n')[1].strip()
# 获取BIOS序列号
bios_info = subprocess.check_output('wmic bios get SerialNumber').decode()
bios_info = subprocess.check_output('wmic bios get SerialNumber', startupinfo=startupinfo).decode()
bios_id = bios_info.split('\n')[1].strip()
# 组合信息并生成哈希

View File

@@ -12,24 +12,21 @@ def setup_logging():
log_file = log_dir / "switcher.log"
# 同时输出到文件控制台
handlers = [logging.FileHandler(log_file, encoding="utf-8")]
if sys.stdout is not None:
handlers.append(logging.StreamHandler(sys.stdout))
# 输出到文件,不输出到控制台
logging.basicConfig(
level=logging.INFO, # 使用INFO级别以显示更多信息
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s",
handlers=handlers
handlers=[
logging.FileHandler(log_file, encoding="utf-8"),
]
)
logging.info("日志系统初始化成功")
except Exception as e:
print(f"设置日志系统失败: {str(e)}")
# 不打印错误信息,只记录到日志
pass
def main():
"""主函数"""
try:
print("正在启动程序...")
setup_logging()
# 检查Python版本
@@ -52,10 +49,9 @@ def main():
except Exception as e:
error_msg = f"程序运行出错: {str(e)}\n{traceback.format_exc()}"
logging.error(error_msg)
print(error_msg) # 直接打印错误信息
# 保持窗口不关闭
input("按回车键退出...")
# 使用tkinter的消息框显示错误
from tkinter import messagebox
messagebox.showerror("错误", error_msg)
if __name__ == "__main__":
main()