【求助】API函数某些字符串后面跟终止符怎么收拾。。
vb吧
全部回复
仅看楼主
level 11
ztw1122 楼主
如图,本人做了一个遍历exe 某个窗体所有控件的研究程序,但产生了错误:一旦是中文,好像字符串后面就有个终止符似的,再连接的字符串不显示了。这个怎么弄。。。vb2008的
2013年06月29日 09点06分 1
level 11
ztw1122 楼主
贴代码:
2013年06月29日 09点06分 2
level 11
ztw1122 楼主
2013年06月29日 09点06分 3
level 13
instr chr(0)
然后以chr(0)为终点
2013年06月29日 09点06分 4
顶!! Return Mid(Tmp, 1, InStr(Tmp, Chr(0)) - 1) 这样解决了
2013年07月13日 00点07分
level 12
前不久我们群里的一个朋友也问过我这个问题(vb6的),发现直接截取字符串会有问题,就先读取到一个byte数组中了,再用strconv转码变成字符串。
2013年06月29日 10点06分 6
哦,那我先试试
2013年06月29日 10点06分
2013年06月29日 10点06分
level 10
先GetWindowTextLength再根据返回的长度GetWindowText,不要直接255
2013年06月29日 11点06分 7
你会用api么。。。开始必须传入一定长度的字符串
2013年07月01日 00点07分
回复 ztw1122 :谁说是“一定”长度了,就是因为你把长度定了所以后面才会多出一串东西。先获取长度然后用byte动态数组保存数据,最后strconv转成字符串,这样就没问题。你真的会用api么?
2013年07月01日 00点07分
吧务
level 13
VB.Net确实恶心,VB6自带空中止符,VB.net似乎没有。。
不过当 A=NoThing 确可以有。。。
2013年06月29日 12点06分 8
如果是去掉可利用API的返回值。一般API会返回写入字符串变量中的长度,记得-1就行。。
2013年06月29日 12点06分
回复 《顾名思义》 :汉字的我减了4.。。。。才会接上后面的。。
2013年07月01日 00点07分
1