TC官方合作论坛

标题: 新手请教,向窗口发送字符串... [打印本页]

作者: 58656984    时间: 2012-5-13 20:50
标题: 新手请教,向窗口发送字符串...
我想在游戏窗口聊天框里面后台发送字符串"你好",然后按回车键

我的游戏窗口已经用大漠绑定了,在实际编写中:

我用TC命令:window.sendstring(hand,"你好")     //hand是窗口句柄,运行后聊天框输入了一串空的字符串,没有输入"你好"

接着我换了下大漠的命令:dm.SendString(hand,"你好") 和dm.SendString2(hand,"你好")     //运行后还是一样的,聊天输入框输入了空字符串,没有输入"你好"

在大漠命令里我看到个收费功能:向绑定的窗口输入字符串     //没有用过,也不知道能不能输入"你好"

是不是只能用大漠的这个收费功能才能实现我的目的呢?有没有其他方法?不用收费功能。。

求各位前辈指点.....游戏窗口是用大漠插件绑定的



作者: 58656984    时间: 2012-5-13 21:44
求指点啊。。。。。。。。。。。。。。。
作者: kevinqq    时间: 2012-5-13 21:53
asdfasdf
作者: 梧桐树下雨    时间: 2012-5-13 22:17
你得先确认  对话框是否是 选中的状态   

用tc自带  函数试试   窗口那里面的

不行 就   模拟组合按键   复制 试试


一般都用后者 。。。
作者: 灬澄澄丶    时间: 2012-5-13 22:25
要么就是TC窗口发送字符串,这个是后台的!要么就用超级键盘发送字符串,前台的!要么就用辅助.输入剪切板然后组合键复制黏贴,大漠的发送字符串只有收费功能才能用的!一般情况下后台都支持 TC窗口发送字符串 和辅助.输入剪切板 其中一个!希望采纳,谢谢!呵呵
作者: pitty    时间: 2012-5-13 23:06
一般的中文都是使用复制、粘贴的。 也就是通过剪切板来实现的。 英文的话,就一般的发送字符串都可以的。楼主多多试试吧。希望帮到楼主!
作者: 58656984    时间: 2012-5-13 23:08
回复 5楼灬澄澄丶的帖子

这位大哥,我按照你的方法试了,TC窗口发送字符串不行,输出的是空字符串;
然后我用剪切板方式的,代码如下:
help.setclip("你好")                    //   写入剪切板
help.getclip()                                //  读取剪切板
dm.KeyDownChar("ctrl")              //按住
help.sleep(500)
dm.KeyPressChar("v")                //按下
help.sleep(100)
dm.KeyUpChar("ctrl")                  //抬起
help.sleep(500)
dm.KeyPressChar ("enter")           //按下

这样的执行结果是在聊天框输出英文字母" v ",感觉这个有点效果了,但是怎么ctrl这个效果没出来呢?

大哥麻烦再帮我看下。。。
作者: 灬澄澄丶    时间: 2012-5-13 23:57
可以用窗口提交按下或者发送提交按下试试,貌似你写错了,大漠的按下好像是keydown,弹起是keyup,K和D和U都是大写的,你那个是大漠发送字符串了,所以每效果
作者: 灬澄澄丶    时间: 2012-5-13 23:59
大漠虚拟按键,那个没用过你可以把Ctrl这个改成我说的Keydown,还有是按下按下弹起弹起,你只一个弹起就等于那个还在按下,按键回车,按下ctrl 按下v 弹起v 弹起ctrl按键回车
作者: 58656984    时间: 2012-5-14 00:05
回复 8楼灬澄澄丶的帖子

解决不了啊,我用TC的窗口提交试过了,还是只能输出英文V,ctrl的效果没出来
大漠的发送字符串命令是这个SendString(hwnd,str)
大漠的按住指定的虚拟按键码以下2个方式我都试了.....
KeyDown(vk_code)
KeyDownChar(key_str)
.......只能输出V。。。
ctrl这个按住的功能去哪了?无解啊....
作者: 灬澄澄丶    时间: 2012-5-14 00:10
窗口发送字符串肯定可以,用大漠按键回车。窗口发送字符串。 大漠回车中间加延迟,估计你跟我碰到的游戏类型一样,我的复制粘贴补性,但是绑定后,可以用上面的方法
作者: 皓月    时间: 2012-5-14 00:43
首先:
要考虑这个游戏,是否对辅助类工具有屏蔽.

然后:
我的游戏窗口已经用大漠绑定了,在实际编写中:

我用TC命令:window.sendstring(hand,"你好")     //hand是窗口句柄

这里,你的大漠是用的什么模式绑定的?
在某些模式下时,是禁止外部输入的.


接着:
接着我换了下大漠的命令:dm.SendString(hand,"你好") 和dm.SendString2(hand,"你好")     //运行后还是一样的

是否确定,此聊天窗口的句柄,就是 hand
作者: TC管理员    时间: 2012-5-14 09:53
亲,如果你觉得别人的回答可以解决你的问题或者给你提供了好的思路。
               
                     请采纳为最佳答案。

作者: tyuyan    时间: 2012-5-14 10:12
dm.SendString我是在几个游戏中都使用过,是可以发送中文的。  不同游戏可能不同,就像有些游戏支持前台,有些支持后台一样。

      楼主可以下个工具测试下,看游戏支持哪个发送。

          TC助手下载地址:http://bbs.tyuyan.com/thread-10664-1-1.html
作者: 战地之王    时间: 2012-5-14 10:31
来看看 。 。这么高手在解答, 学习了。
作者: 花开花落    时间: 2012-5-14 10:38
来向各位高手学习。
作者: 58656984    时间: 2012-5-14 12:30
回复 14楼tyuyan的帖子

小三姐,我用TC助手试过了,向窗口发送字符串,不管是前台,后台,还是大漠后台,
发送中文的结果都是在聊天框里发送空的字符串(也就是聊天框的光标像是输入了空格,向后移动了几位),但是英文和数字可以发,

这种情况是怎么回事啊??
作者: 灬澄澄丶    时间: 2012-5-14 13:01
一般情况下没什么问题,既然能发送英文就代表可以发送,检查程序之间的延迟或者是书写格式,可以的话检查检查源码,自己一句一句的看是不是自己要的那种效果!比如 按下Ctrl 按键V 弹起Ctrl 这样子是一个格式!目前没碰到过你说的情况。。。
应该还是语句方面的事情!
作者: 58656984    时间: 2012-5-14 19:13
回复 18楼灬澄澄丶的帖子

我在按键论坛里看到有人和我一样的状况,窗口绑定后台的情况下,ctrl+v组合键也是只输出v,那人也没有找到解决办法,我换个其他思路来了,不过还是谢谢这位大哥这么热心。。。




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