TC官方合作论坛

标题: c语言能调用大漠?如何调用?望不吝赐教~ [打印本页]

作者: nindrin    时间: 2014-6-30 08:48
标题: c语言能调用大漠?如何调用?望不吝赐教~
1.c语言能调用大漠?如何调用?望不吝赐教~
2.为什么用tc调用keypressstr发送字符串会失败?貌似只能用keypresschar

本人新手,望各位大神指教~

作者: 落小雨    时间: 2014-6-30 10:42
游戏限制了吧
作者: nindrin    时间: 2014-6-30 13:24
落小雨 发表于 2014-6-30 10:42
游戏限制了吧

我是向记事本发的一个字符串,但不成功
作者: q273814    时间: 2014-6-30 15:44
你应该到c语言相关的论坛去问 大漠是标准com插件 去问怎么调用com就行了
作者: q273814    时间: 2014-6-30 15:44
你应该到c语言相关的论坛去问 大漠是标准com插件 去问怎么调用com就行了
作者: nindrin    时间: 2014-6-30 15:49
q273814 发表于 2014-6-30 15:44
你应该到c语言相关的论坛去问 大漠是标准com插件 去问怎么调用com就行了

不是dll插件?com和dll的区别在哪,能讲解一下么?
作者: jianqiumy    时间: 2014-6-30 20:33
tc调用大漠要注册大漠插件插件-注册成功完后-邦定目的窗口-邦定成功后可以操作了,
注册方式论坛里很多我不就说了,TC帮助里有说的,

我看看吧你在论坛里搜索一下真的很多!有免费版注册方式,有收费版注册方式,论坛里都有也可以用TC注册
[attach]16418[/attach]

[attach]16419[/attach]






作者: nindrin    时间: 2014-6-30 20:39
jianqiumy 发表于 2014-6-30 20:33
tc调用大漠要注册大漠插件插件-注册成功完后-邦定目的窗口-邦定成功后可以操作了,
注册方式论坛里很多我不 ...

注册方面没问题的.我问的是大漠里的keypressstr方法为啥会失败?
作者: jianqiumy    时间: 2014-6-30 20:55
nindrin 发表于 2014-6-30 20:39
注册方面没问题的.我问的是大漠里的keypressstr方法为啥会失败?

是否邦定成功了?邦定模式是?
你上代码就知道为什么了~~应该是你代码问题~~
作者: jianqiumy    时间: 2014-6-30 20:55
nindrin 发表于 2014-6-30 20:39
注册方面没问题的.我问的是大漠里的keypressstr方法为啥会失败?

是否邦定成功了?邦定模式是?
你上代码就知道为什么了~~应该是你代码问题~~
作者: nindrin    时间: 2014-6-30 22:15
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()
   
功能结束


有什么问题没?
作者: nindrin    时间: 2014-6-30 22:16
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()
  
功能结束



这个,帮看看
作者: jianqiumy    时间: 2014-7-1 01:40
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()
复制代码

作者: jianqiumy    时间: 2014-7-1 01:49
本帖最后由 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官方事例也有记事本的,论坛里也有大把

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

受教了,谢谢!
作者: q273814    时间: 2014-7-5 09:02
nindrin 发表于 2014-6-30 15:49
不是dll插件?com和dll的区别在哪,能讲解一下么?

度娘很清楚
作者: nindrin    时间: 2014-7-6 21:26
q273814 发表于 2014-7-5 09:02
度娘很清楚

好的吧,忘了度娘。兄弟你会内存不?




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1