C语言调用python,读取电脑识别码

本文介绍如何使用C语言调用Python程序来读取并识别电脑的CPU序列号、MAC地址和硬盘、主板序列号,以此创建‘一机一码’的授权系统。详细讲解了C语言代码和Python代码的实现,并提到了C调用Python时的注意事项,如设置附加库、路径配置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多努力就会有多特殊(neverforever)——仌

关于 python读取电脑识别码 的程序请参考文章:
https://blog.youkuaiyun.com/weixin_44204327/article/details/85162826

目标

python实现c语言运行 用python语言,识别电脑机器码,通过授权码,只允许软件运行在唯一电脑上,实现“一机一码”。
然后通过C语言调用python程序,在C语言基础上完成软件授权码程序的编写。
:程序识别的机器码包括:

  1. CPU序列号(ID)
  2. 本地连接 无线局域网 以太网的MAC
  3. 硬盘序列号(唯一)
  4. 主板序列号(唯一)

C语言授权码程序运行分析

程序代码

C语言代码部分

#include<Python.h>
int main()
{
   
   
	Py_Initialize();//初始化python
	PyRun_SimpleString("import sys");
	PyRun_SimpleString("sys.path.append('../\\pythonbases\\site-packages')");
	PyRun_SimpleString("sys.path.append('../\\pythonbases\\site-packages\\win32')");
	PyRun_SimpleString("sys.path.append('../\\pythonbases\\site-packages\\win32\\lib')");
	
	PyObject * pModule = NULL; //声明变量
	PyObject * pFunc = NULL;
	pModule = PyImport_ImportModule("author");
	pFunc = PyObject_GetAttrString(pModule, "checkAuthored");
	PyEval_CallObject(pFunc, NULL);

	Py_Finalize(); //释放python
	return 0;
}

python语言代码部分

import wmi
import json
import win32com
import base64
from pyDes import *


############ 1. 获取硬件信息,输出 macode
#   1.CPU序列号(ID2.本地连接 无线局域网 以太网的MAC 3.硬盘序列号(唯一) 4.主板序列号(唯一)

global s
s = wmi.WMI()
#cpu 序列号
def get_CPU_info():
    cpu = []
    cp = s.Win32_Processor()
    for u in cp:
        cpu.append(
            {
   
   
                "Name": u.Name,
                "Serial Number": u.ProcessorId,
                "CoreNum": u.NumberOfCores
            }
        )
 #   print(":::CPU info:"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值