找回密码
 加入
搜索
查看: 5101|回复: 17

为什么输出中文会有乱码呢?

[复制链接]
发表于 2008-7-24 10:35:50 | 显示全部楼层 |阅读模式
菜鸟菜问题
大家不要笑
为什么输出中文会有乱码呢?
在send函数里没有找到好的解决方法
望高手指点。。。

解决了  谢谢各位好心的兄弟们。。

[ 本帖最后由 六叶竹 于 2008-7-27 23:23 编辑 ]
发表于 2008-7-24 11:30:40 | 显示全部楼层
ANSI

``````````````
发表于 2008-7-24 12:44:04 | 显示全部楼层
SendX或者ControlSetTex
发表于 2008-7-24 15:43:28 | 显示全部楼层

回复 1# 六叶竹 的帖子

1.自定义函数:
#AutoIt3Wrapper_UseAnsi=Y
Func _SendRaw($Keys)
    Local $KeysInUnicode = ""
    Local $len = StringLen($Keys)
    Local $char1
    Local $code1
    Local $char2
    Local $code2
    Local $index = 1
    While True
        $code2 = 0
        $char1 = StringMid($Keys, $index, 1)
        $code1 = Asc($char1)
        If $code1 >= 129 And $code1 <= 254 And $index < $len Then
            $char2 = StringMid($Keys, $index+1, 1)
            $code2 = Asc($char2)
            If $code2 >= 64 And $code2 <= 254 Then
                $code1 *= 256
                $code1 += $code2
            EndIf
            $index += 1
        EndIf
        If $code1 <= 255 Then $code1 = "0" & $code1
        $KeysInUnicode &= "{ASC " & $code1 & "}"
        If $code2 > 0 And $code2 < 64 Then
            $code2 = "0" & $code2
            $KeysInUnicode &= "{ASC " & $code2 & "}"
        EndIf
        $index += 1
        If $index > $len Then ExitLoop
    WEnd
    Send($KeysInUnicode)
EndFunc

2.使用 SendX 代替 Send。
3.使用ControlSetText,速度快,推荐。
发表于 2008-7-24 15:44:28 | 显示全部楼层
进来学习下 高手辛苦了
 楼主| 发表于 2008-7-24 20:37:39 | 显示全部楼层
直接用sendx和ControlSetText替換的話不對啊
是不是有別的格式?
 楼主| 发表于 2008-7-24 20:37:48 | 显示全部楼层
直接用sendx和ControlSetText替換的話不對啊
是不是有別的格式?
发表于 2008-7-25 09:02:21 | 显示全部楼层
我记得曾经有个把中文字符串导入黏贴板,再把黏贴板的内容写到某控件里

忘记具体方法了,思路还记得点儿
发表于 2008-7-25 12:16:57 | 显示全部楼层
原帖由 六叶竹 于 2008-7-24 20:37 发表
直接用sendx和ControlSetText替換的話不對啊
是不是有別的格式?

比如安装"D:\Program Files\好易网视"这个有中文路径:
方法一:SendX ( "字符",标志)  
SendX("D:\Program Files\好易网视",0)  
      
用SendX前面要加上这个
#include <ACN_String.au3>

方法二:ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本",标志 )
ControlSetText("好易网视 1.4.0.0 安装","选择安装位置","Edit1", "D:\Program Files\好易网视") 


[ 本帖最后由 番茄 于 2008-7-25 12:23 编辑 ]
 楼主| 发表于 2008-7-25 13:03:33 | 显示全部楼层
对不起啊诸位
试过还是不懂
给我举例子来点简单的吧
比如run一个notepad.exe
输出“我是谁?”到这个新建记事本里。。
OK?
发表于 2008-7-25 13:28:45 | 显示全部楼层
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
发表于 2008-7-25 15:03:28 | 显示全部楼层
诸如此类的问题实在多得数不胜数,而难得现在热心的兄弟还是如此的多。
发表于 2008-7-25 15:06:30 | 显示全部楼层

回复 4# runningwater 的帖子

这个函数最早见于原AU3中文帮助的汉化作者,即yonkenBLOG的。
 楼主| 发表于 2008-7-25 20:38:07 | 显示全部楼层
如果。。。
我还不会。。
怎么办。。
11楼的兄弟说的什么意思啊
能不能结合我说的那个例子
帮我讲讲。。
谢谢。。
比如run一个notepad.exe
输出“我是谁?”到这个新建记事本里。。
OK?
 楼主| 发表于 2008-7-26 11:05:38 | 显示全部楼层
不会不会不会。。
谁来。。帮忙啊。。。
困惑。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-19 18:53 , Processed in 0.077662 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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