Compare commits
1 Commits
v3
...
听泉cursorv2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f50f815ea0 |
@@ -16,16 +16,23 @@ from cursor_auth_manager import CursorAuthManager
|
|||||||
def get_hardware_id() -> str:
|
def get_hardware_id() -> str:
|
||||||
"""获取硬件唯一标识"""
|
"""获取硬件唯一标识"""
|
||||||
try:
|
try:
|
||||||
|
# 创建startupinfo对象来隐藏命令行窗口
|
||||||
|
startupinfo = None
|
||||||
|
if sys.platform == "win32":
|
||||||
|
startupinfo = subprocess.STARTUPINFO()
|
||||||
|
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
|
||||||
|
startupinfo.wShowWindow = subprocess.SW_HIDE
|
||||||
|
|
||||||
# 获取CPU信息
|
# 获取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()
|
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()
|
board_id = board_info.split('\n')[1].strip()
|
||||||
|
|
||||||
# 获取BIOS序列号
|
# 获取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()
|
bios_id = bios_info.split('\n')[1].strip()
|
||||||
|
|
||||||
# 组合信息并生成哈希
|
# 组合信息并生成哈希
|
||||||
|
|||||||
@@ -12,24 +12,21 @@ def setup_logging():
|
|||||||
|
|
||||||
log_file = log_dir / "switcher.log"
|
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(
|
logging.basicConfig(
|
||||||
level=logging.INFO, # 使用INFO级别以显示更多信息
|
level=logging.INFO,
|
||||||
format="%(asctime)s - %(levelname)s - %(message)s",
|
format="%(asctime)s - %(levelname)s - %(message)s",
|
||||||
handlers=handlers
|
handlers=[
|
||||||
|
logging.FileHandler(log_file, encoding="utf-8"),
|
||||||
|
]
|
||||||
)
|
)
|
||||||
logging.info("日志系统初始化成功")
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"设置日志系统失败: {str(e)}")
|
# 不打印错误信息,只记录到日志
|
||||||
|
pass
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
"""主函数"""
|
"""主函数"""
|
||||||
try:
|
try:
|
||||||
print("正在启动程序...")
|
|
||||||
setup_logging()
|
setup_logging()
|
||||||
|
|
||||||
# 检查Python版本
|
# 检查Python版本
|
||||||
@@ -52,10 +49,9 @@ def main():
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
error_msg = f"程序运行出错: {str(e)}\n{traceback.format_exc()}"
|
error_msg = f"程序运行出错: {str(e)}\n{traceback.format_exc()}"
|
||||||
logging.error(error_msg)
|
logging.error(error_msg)
|
||||||
print(error_msg) # 直接打印错误信息
|
# 使用tkinter的消息框显示错误
|
||||||
|
from tkinter import messagebox
|
||||||
# 保持窗口不关闭
|
messagebox.showerror("错误", error_msg)
|
||||||
input("按回车键退出...")
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
Reference in New Issue
Block a user