# -*- coding:utf-8 -*-
import ctypes
import os
from comtypes.client import CreateObject
from win32com.client import Dispatch
from PyGameAuto.Dm import RegDm
class DmHelper:
def __init__(self,reg_code="",ver_info=""):
# 方法1
# dm = RegDm.reg()
# print('本机系统中已经安装大漠插件,版本为:', dm.ver())
# 方法2
try:
self.dm = Dispatch('dm.dmsoft')
dm_version = self.dm.ver()
print('本机系统中已经安装大漠插件,版本为:', dm_version)
except:
print('本机并未安装大漠,正在免注册调用,cmd=' + os.getcwd())
dms = ctypes.windll.LoadLibrary('DmReg.dll')
location_dmreg = os.getcwd() + '\dm.dll'
dms.SetDllPathW(location_dmreg, 0)
self.dm = CreateObject('dm.dmsoft')
print('免注册调用成功 版本号为:', self.dm.Ver())
dm_version = self.dm.ver()
print(dm_version) # 输出版本号
if (reg_code != ""):
dmRegSult = self.dm.Reg(reg_code, ver_info)
if dmRegSult == -2:
print("大漠注册码使用失败,只能是使用免费功能。返回状态码为:", dmRegSult, ",进程没有以管理员方式运行")
elif dmRegSult == 1:
print("大漠注册码使用成功")
elif dmRegSult == 4:
print("大漠注册码使用失败,只能是使用免费功能。返回状态码为:", dmRegSult, ",注册码错误")
elif dmRegSult != 1:
print("大漠注册码使用失败,只能是使用免费功能。返回状态码为:", dmRegSult)
def getDm(self):
pass
def getDm2(self):
# if not hasattr(self,'dm'):
# # if(self.dm is None):
# print("not have self.dm")
pass
if __name__ == "__main__":
print("\r\n")
dmhelper = DmHelper()
dmhelper.getDm2("")
要求:
DmReg.dll 和 dm.dll 与代码都放到同一个目录
说明:
我这个是使用大漠的免注册调用的实现方式
问题:
1:我初次使用的时候由于原来自己点击bat注册了其他版本的大漠插件导致一直报错。后来我采用了先注册安装包里的bat文件,又点击卸载的bat文件,最后再执行代码就正常了。
在哪下载大漠插件:
下载地址在这里:下载大漠插件