如何无GUI调用Microsoft PID Checker验证Windows 10密钥有效性
Windows 10密钥无GUI验证脚本修复
原脚本调用Microsoft PID Checker时仅启动程序无验证操作,核心原因是该工具不支持通过命令行参数传递密钥,而是需要通过交互式输入获取密钥。以下是具体修复方案:
问题根源
原代码尝试用/s参数拼接密钥的方式调用工具,但该工具实际设计为通过标准输入读取密钥,导致程序启动后一直等待输入却无法获取,最终出现无操作的情况。
修复后的代码
import subprocess def check_windows_key(key): exe_path = r'C:\Users\islam\Desktop\Microsoft PID Checker.exe' try: # 启动工具并通过标准输入传递密钥(加\n模拟手动回车) result = subprocess.run( [exe_path], input=key + '\n', capture_output=True, text=True, creationflags=subprocess.CREATE_NO_WINDOW # 禁止弹出GUI窗口 ) # 合并标准输出和错误输出,避免遗漏验证信息 full_output = result.stdout.strip() + result.stderr.strip() return "Product Key is valid" in full_output except FileNotFoundError: print("未找到Microsoft PID Checker工具。") return False # 替换为待验证的Windows 10密钥 key_to_check = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" is_valid = check_windows_key(key_to_check) print("Windows 10密钥有效。" if is_valid else "Windows 10密钥无效。")
关键修改说明
- 移除无效的
/s命令行参数,改为通过input参数向工具传递密钥,附加\n模拟手动输入后的回车操作,匹配工具的交互逻辑 - 添加
creationflags=subprocess.CREATE_NO_WINDOW参数,确保工具在后台运行,完全符合无GUI的需求 - 合并标准输出和错误输出,避免因工具将验证信息输出到stderr导致结果判断遗漏
内容的提问来源于stack exchange,提问作者Islam hamdy
相关产品推荐
相关产品推荐

