TC官方合作论坛

 找回密码
 立即注册
楼主: itcfan
打印 上一主题 下一主题

[已解决] 大漠免注册的正确源码

  [复制链接]
11#
发表于 2014-3-28 13:31:14 | 只看该作者
  1. 空间 大漠插件注册

  2. 变量 dm

  3. 功能 开始_点击()
  4.     ws=com("Wscript.Shell")
  5.     ws.run("regsvr32 atl.dll /s")
  6.     dllcallret=dllcall("rc:RegDll.dll","int","SetDllPathA","char *","rc:dm.dll","int",0)
  7.     dm=com("dm.dmsoft")  
  8.     //线程.开启("大漠插件注册.自动注册大漠插件","")  //注册插件不用线程,也就是不用多次注册.
  9.     网络时间=dm.GetNetTime()
  10.     调试输出(网络时间)   
  11. 功能结束

  12. //功能 自动注册大漠插件()
  13.     //程序DM版本="3.1233"
  14.     //是否成功=辅助.是否注册("dm.dmsoft")
  15.     //如果(是否成功)
  16.         //调试输出("插件已注册")
  17.         //dm=com("dm.dmsoft")
  18.         //调试输出("插件已注册,当前使用版本:"&dm.Ver())
  19.         //如果(程序DM版本!=dm.Ver())
  20.             //调试输出("插件已注册,插件版本错误重新注册")
  21.             //dllcallret=dllcall("rc:RegDll.dll","int","SetDllPathA","char *","rc:dm.dll","int",0)
  22.             ////是否成功=辅助.注册插件("rc:\\dm.dll",真)
  23.             //如果(是否成功)
  24.                 //dm=null
  25.                 //dmm=com("dm.dmsoft")
  26.                 //调试输出("插件注册成功,注册版本")
  27.                 //辅助.退出()
  28.             //如果结束
  29.         //如果结束
  30.     //否则
  31.         //调试输出("插件未注册,开始注册插件")
  32.         //dllcallret=dllcall("rc:RegDll.dll","int","SetDllPathA","char *","rc:dm.dll","int",0)
  33.         ////是否成功=辅助.注册插件("rc:\\dm.dll",真)
  34.         //如果(是否成功)
  35.             //调试输出("插件注册成功")
  36.         //如果结束
  37.     //如果结束
  38. //功能结束

  39. 空间结束
复制代码
兄弟,你想多了。
用以下的代码吧:
回复 支持 反对

使用道具 举报

16#
发表于 2014-3-28 14:09:50 | 只看该作者
抱歉,我也是新手,没把我系统的的com卸载就测试,问题找到了,你的代码中和插件文件中二次问题

第一处:把资源中的regdll.dll换成我上面提供的dmreg.dll,你用错文件了。

第二处:修改代码
dllcallret=dllcall(辅助.获取资源路径("rc:dmreg.dll"),"int","SetDllPathA","char *",辅助.获取资源路径("rc:dm.dll"),"int",0)

你再试?
回复 支持 反对

使用道具 举报

12#
发表于 2014-3-28 13:34:51 | 只看该作者
测试了,是你的regdll.dll版本问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

13#
 楼主| 发表于 2014-3-28 13:39:31 | 只看该作者
hualaosi 发表于 2014-3-28 13:31
兄弟,你想多了。
用以下的代码吧:

是不是不能放在功能 初始化()?
回复 支持 反对

使用道具 举报

14#
 楼主| 发表于 2014-3-28 13:47:58 | 只看该作者
本帖最后由 itcfan 于 2014-3-28 13:52 编辑


先卸载了掉DM.DLL
再运行代码,就出现这样。
如果注册成功,那就不会报错,能调试输出:时间。

我就是这个搞不懂,软件发给别人,总不能让人主动去注册COM吧?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

15#
 楼主| 发表于 2014-3-28 13:57:06 | 只看该作者
hualaosi 发表于 2014-3-28 13:34
测试了,是你的regdll.dll版本问题。


测试了一样会这样,你试试先卸载DM.DLL,再运行代码看看。
回复 支持 反对

使用道具 举报

17#
 楼主| 发表于 2014-3-28 14:23:52 | 只看该作者
hualaosi 发表于 2014-3-28 14:09
抱歉,我也是新手,没把我系统的的com卸载就测试,问题找到了,你的代码中和插件文件中二次问题

第一处: ...

我想说,某些免注册的教学视频是不是要更新了?
dllcallret=dllcall(辅助.获取资源路径("rc:dmreg.dll"),"int","SetDllPathA","char *",辅助.获取资源路径("rc:dm.dll"),"int",0)
使用后确实能可以了。非常感谢你!
回复 支持 反对

使用道具 举报

18#
发表于 2014-3-28 14:26:59 | 只看该作者
不客气,共同进步。实际上,用这种方法使用大漠,系统没残留,关闭脚本后,插件所占资源自然就释放干净了。
回复 支持 反对

使用道具 举报

19#
发表于 2014-3-28 17:37:36 | 只看该作者
itcfan 发表于 2014-3-28 13:12
这是我的代码,帮我分析一下

1233有免注册方法??
只有1235之后的版本才有免注册的
回复 支持 反对

使用道具 举报

20#
发表于 2014-3-28 19:04:55 | 只看该作者
超自然 发表于 2014-3-28 17:37
1233有免注册方法??
只有1235之后的版本才有免注册的

教程里是这样说的。我信了~~
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-21 21:41 , Processed in 0.168952 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表