.版本 2

.支持库 spec

.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

.局部变量 mothod, PyMethodDef

.局部变量 创建结果, 整数型

.局部变量 错误类型, 整数型

.局部变量 错误信息, 文本型

.局部变量 错误信息2, 整数型

.局部变量 错误信息3, 文本型

.局部变量 错误堆栈, 整数型

Py_SetPythonHome (“C:\Python36”)
Py_SetProgramName (“C:\Python36”)
' Py_运行代码 (“import os, time, sys, getopt, string, random”)
' Py_运行代码 (“sys.path.append('./')”)
' Py_运行代码 (“sys.path.append('C:/Python36/')”)
' Py_运行代码 (“sys.path.append('C:/Python36')”)
mothod.ml_name = “wnxd”
mothod.ml_meth = __cdecl (&wnxd)
mothod.ml_flags = 1
mothod.ml_doc = “this is python_e ddddddd”
加入成员 (mothods, mothod)
wnxd.ob_refcnt = 1
wnxd.m_name = “python_e”
wnxd.m_doc = “wnxd - python_e222222”
wnxd.m_size = -1
wnxd.m_methods = PyMethodDef_Array (mothods)

创建结果 = PyImport_AppendInittab (“python_e”, &PyInit_python_e)

Py_Initialize ()

' 创建结果 = PyInit_python_e ()

错误信息2 = 取变量地址 (错误信息)

PyErr_Fetch (错误类型, 取变量地址 (错误信息), 错误堆栈)

PyErr_Print ()

创建结果 = PyImport_ImportModule (“wnxd_e”)

错误信息2 = 取变量地址 (错误信息)

PyErr_Fetch (错误类型, 取变量地址 (错误信息2), 错误堆栈)

PyErr_Print ()

' 错误信息2 = 错误信息2 + 80

错误信息3 = 到文本 (取变量地址 (错误信息2))

.如果真 (创建结果 = 0)

' Py_运行代码 (“print('python error')”)

调试输出 (“Py_模块_加载 错误!”)

标准输入 ()

返回 (0)

.如果真结束

' Py_运行代码 (“import python_e”)
' Py_运行代码 (“print(python_e.__name__)”)
' Py_运行代码 (“print(dir(python_e))”)
' Py_运行代码 (“print(python_e.wnxd('ceshi'))”)

标准输入 ()

返回 (0) ' 可以根据您的需要返回任意数值

.子程序 PyInit_python_e, 整数型, 公开

返回 (PyModule_Create (wnxd))

.子程序 wnxd, 整数型, , PyObject指针

.参数 self, 整数型, , PyObject指针

.参数 args, 整数型, , PyObject指针

.局部变量 m, 文本型

.局部变量 str, 整数型, , "0"

加入成员 (str, 0)

PyArg_ParseTuple (args, “s”, str)

m = 指针到文本 (str [1])

标准输出 (, m + #换行符)

清除数组 (str)

加入成员 (str, GetLP_String (“wnxd-python_e”))

返回 (Py_BuildValue (“s”, str))

.子程序 __cdecl, 子程序指针

.参数 子程序指针, 子程序指针

.局部变量 lp, 整数型

.局部变量 byte, 字节集

lp = 到整数 (子程序指针)

.循环判断首 ()

byte = 指针到字节集 (lp, 3)

lp = lp + 1

.循环判断尾 (byte ≠ { 91, 95, 94 })

lp = lp + 2 ' 本源码来自三叶资源网(www.sanye.cx)

VirtualProtect (lp, 1, 64, 0)

写到内存 ({ 195 }, lp, )

返回 (子程序指针)