TC官方合作论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: nindrin
打印 上一主题 下一主题

[已解决] c语言能调用大漠?如何调用?望不吝赐教~

[复制链接]
11#
 楼主| 发表于 2014-6-30 22:15:19 | 只看该作者
jianqiumy 发表于 2014-6-30 20:55
是否邦定成功了?邦定模式是?
你上代码就知道为什么了~~应该是你代码问题~~ ...

CODE:
功能 开始_点击()
    dmpath=help.getrcpath("rc:dm.dll")
    help.regdll(dmpath,true)
    dm=com("dm.dmsoft")
    traceprint("注册插件成功")
    获取大漠对象
    hd=dm.EnumWindow(hd,"a.txt - 记事本","",1+2+4+8+16)
    dm.BindWindow(hd,"normal","normal","normal",0)
    dm.SetWindowState(hd,1)
    help.sleep(1000)
    dm.KeyPressChar("alt")
    dm.KeyPressstr("123",10)
    traceprint(dm.Ver()&"  ok")
    dm.UnBindWindow()
   
功能结束


有什么问题没?
回复 支持 反对

使用道具 举报

14#
发表于 2014-7-1 01:49:51 | 只看该作者
本帖最后由 jianqiumy 于 2014-7-1 01:51 编辑
nindrin 发表于 2014-6-30 22:15
CODE:
功能 开始_点击()
    dmpath=help.getrcpath("rc:dm.dll")
  1.     dmpath=help.getrcpath("rc:dm.dll")
  2.     help.regdll(dmpath,true)
  3.     dm=com("dm.dmsoft")
  4.     hd=dm.EnumWindow(hd,"a.txt - 记事本","",1+2+4+8+16)
  5.     dm.BindWindow(hd,"normal","normal","normal",0)    //直接找到父句柄就邦定是不行的~错!!还要分割的~论坛其它有很多事例的!!
  6.     dm.SetWindowState(hd,1)
  7.     help.sleep(1000)
  8.     dm.KeyPressChar("alt")   //这是按键!!!!这样不对的, 发送字符串是"dm.SendString(int hwnd,string str)
复制代码
应该多看看基础!!!方法有很多种的,我随便给你改一下
记事本有父子句柄的,也可以直接枚举子句柄分割也行~~方法有很多~~~还是那句话多看基础,Tc官方事例也有记事本的,论坛里也有大把
回复 支持 反对

使用道具 举报

12#
 楼主| 发表于 2014-6-30 22:16:50 | 只看该作者
jianqiumy 发表于 2014-6-30 20:55
是否邦定成功了?邦定模式是?
你上代码就知道为什么了~~应该是你代码问题~~ ...

功能 开始_点击()
    dmpath=help.getrcpath("rc:dm.dll")
    help.regdll(dmpath,true)
    dm=com("dm.dmsoft")
    hd=dm.EnumWindow(hd,"a.txt - 记事本","",1+2+4+8+16)
    dm.BindWindow(hd,"normal","normal","normal",0)
    dm.SetWindowState(hd,1)
    help.sleep(1000)
    dm.KeyPressChar("alt")
    dm.KeyPressstr("123",10)
    traceprint(dm.Ver()&"  ok")
    dm.UnBindWindow()
  
功能结束



这个,帮看看
回复 支持 反对

使用道具 举报

13#
发表于 2014-7-1 01:40:21 | 只看该作者
nindrin 发表于 2014-6-30 22:16
功能 开始_点击()
    dmpath=help.getrcpath("rc:dm.dll")
    help.regdll(dmpath,true)

帮你改改吧

  1.     var hd,hwnd,size,句柄集,子句柄集,个数,文本句柄
  2.     dmpath=help.getrcpath("rc:dm.dll")
  3.     help.regdll(dmpath,true)
  4.     dm=com("dm.dmsoft")
  5.     traceprint("注册插件成功")
  6.     //获取大漠对象
  7.     hd=system.enum("记事本",0) //枚举父句柄
  8.     if(hd=="")   
  9.         help.messagebox("找不到记事本窗口!")
  10.         return 0
  11.     endif
  12.     str.split(hd,"|",hwnd)
  13.     arraysp.size(hwnd,size)
  14.     for(i=0;i<size;i++)
  15.         句柄集=system.enum(hwnd[i],3)//父句柄枚举子句柄
  16.         str.split(句柄集,"|",子句柄集)
  17.         文本句柄=子句柄集[0]
  18.     endfor
  19.     traceprint(文本句柄)
  20.     dm.BindWindow(文本句柄,"normal","normal","normal",0)
  21.     dm.SetWindowState(文本句柄,1)
  22.     help.sleep(1000)
  23.     dm.SendString(文本句柄,"aaa")//发送字符串
  24.     traceprint(dm.Ver()&"  ok")
  25.     dm.UnBindWindow()
复制代码
回复 支持 反对

使用道具 举报

15#
 楼主| 发表于 2014-7-1 07:47:09 来自手机 | 只看该作者
jianqiumy 发表于 2014-7-1 01:49
应该多看看基础!!!方法有很多种的,我随便给你改一下
记事本有父子句柄的,也可以直接枚举子句柄分割也行~~ ...

受教了,谢谢!
回复 支持 反对

使用道具 举报

16#
发表于 2014-7-5 09:02:57 | 只看该作者
nindrin 发表于 2014-6-30 15:49
不是dll插件?com和dll的区别在哪,能讲解一下么?

度娘很清楚
回复 支持 反对

使用道具 举报

17#
 楼主| 发表于 2014-7-6 21:26:54 | 只看该作者

好的吧,忘了度娘。兄弟你会内存不?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-26 11:00 , Processed in 0.149213 second(s), 21 queries .

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

© 2001-2013 Comsenz Inc.

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