TC官方合作论坛
标题:
不注册大漠调用dm.dll的方法
[打印本页]
作者:
187144831
时间:
2012-9-22 20:42
标题:
不注册大漠调用dm.dll的方法
首先解释一下,不注册调用大漠插件,实际上是使用dmreg.dll来配合实现,这个文件有2个导出接口
SetDllPathW和SetDllPathA。 SetDllPathW对应unicode,SetDllPathA对应ascii接口.
参数如下
SetDllPathA 字符串(Ascii码表示插件所在的路径),整数(0表示STA,1表示MTA)
SetDllPathW 字符串(Unicode码表示插件所在的路径),整数(0表示STA,1表示MTA)
那么这2个函数就可以代替以往我们使用的 regsvr32注册方式,或者RegDll注册方式。
下面分别介绍下各个平台的使用方法,需要注意的是,这个dll仅仅给3.1235之后的版本使用,之前的版本无效.
1. 按键平台(按键8及以上)
代码如下
// 如果你把DmReg.dll释放在了plugin目录 比如
PutAttachment ".\plugin","dmreg.dll"
Public Declare Function SetDllPathW Lib "dmreg.dll" Alias "SetDllPathW" (ByVal path As String, ByVal mode As Long) As Long
TracePrint SetDllPathW("c:\3.1235\dm.dll", 0)
// 下面就可以正常创建对象使用插件了
set dm = createobject("dm.dmsoft")
// 如果你把DmReg.dll释放在了别的目录 比如
PutAttachment "c:\test,"dmreg.dll"
Public Declare Function SetDllPathW Lib "c:\test\dmreg.dll" Alias "SetDllPathW" (ByVal path As String, ByVal mode As Long) As Long
TracePrint SetDllPathW("c:\3.1235\dm.dll", 0)
// 下面就可以正常创建对象使用插件了
set dm = createobject("dm.dmsoft")
谁能给我举个例子 在TC里面怎么写
如果TC里面用不了 也说一下 我就不浪费时间琢磨了
肯定会采纳的
作者:
jimye0526
时间:
2012-9-22 21:00
我刚好以我那拙劣的技术弄出来了
你要不 ?
第一使用要相对麻烦一些
第二 我也是根据你的这个dll来的 所以 只能对3.1235版以上的大漠有效,3.1235版以上的大漠是免费的函数是没有了,插件是完全收费了的
作者:
187144831
时间:
2012-9-22 21:03
代码贴上来吧 我忽略了 3.1235了
就当学习了
作者:
jimye0526
时间:
2012-9-22 21:13
回复
3楼
187144831
的帖子
就是重新拿vb封装下就好了么 搞成tc能调用的dll
vb里的源码
Private Declare Function SetDllPathA Lib "DmReg.dll" (ByVal path As String, ByVal mode As Long) As Long
Function SetDllPathA_(ByVal path_ As String, ByVal mode_ As Long) As Long
SetDllPathA_ = SetDllPathA(path_, mode_)
End Function
作者:
187144831
时间:
2012-9-22 21:14
能转成TC给我看吗? 按键多少能看懂些 VB完全不懂啊
作者:
jimye0526
时间:
2012-9-22 21:15
回复
5楼
187144831
的帖子
这没办法 就是vb重新封装下 生成一个新dll 然后再tc里调用
作者:
zdy77233647
时间:
2012-9-22 21:48
其实就在初始化加个辅助注册插件和辅助是否注册就可以搞定的事,感觉你们弄麻烦了
作者:
187144831
时间:
2012-9-22 23:05
回复
7楼
zdy77233647
的帖子
你看看帖子标题
作者:
zdy77233647
时间:
2012-9-23 02:46
回复
8楼
187144831
的帖子
我看到了,TC 封装大漠!直接在初始化自动注册就行了
作者:
jimye0526
时间:
2012-9-23 07:42
回复
9楼
zdy77233647
的帖子
人家要的是免注册,这样可以防部分检测注册表,判断是否注册了大漠的,游戏。
作者:
120801625
时间:
2012-9-23 13:55
就当学习了
作者:
187144831
时间:
2012-9-24 19:59
回复
6楼
jimye0526
的帖子
我发现有人用3.1233就能调用 而不是3.1235
怎么回事?
作者:
jimye0526
时间:
2012-9-24 21:16
回复
12楼
187144831
的帖子
这是人家自己搞的,具体原理我也不知道
而我是根据大漠作者写的dll封装成tc能用的dll
大漠作者限制了3.1235版以下不能用 我也没办法
作者:
feng123144
时间:
2012-10-13 16:46
唉,会多门技术就是不一样.
作者:
yyyyjx
时间:
2013-8-10 23:47
我也在找方法,求教育
作者:
hjl123456
时间:
2016-12-6 08:22
学习
作者:
剑仙十号
时间:
2016-12-6 12:58
tc简单开发。大漠3.1233免注册。
//exempt adj,免除的。 register n.注册,登记。
//EptReg 理解为免注册。
变量 线程ID
功能 执行()
变量 ws = 插件("Wscript.Shell")
ws.run("regsvr32 atl.dll /s")
var path = 获取资源路径("rc:")
var ret = 动态库调用(path & "EptReg.dll", "int", "SetDllPathA", "char *", path & "dm.dll", "int", 0)
var dm = 插件("dm.dmsoft")
var ver = dm.Ver()
traceprint("大漠的版本号:" & ver)
dm.SetPath(path)
dm.Moveto(0, 0)
sleep(30)
dm.RightClick()
sleep(30)
结束
功能 启动_热键()
线程ID = 线程开启("执行", "")
结束
功能 终止_热键()
线程关闭(线程ID)
结束
.
.
插件下载:433286131。
群共享。剑仙教程。
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1