六叶竹 发表于 2008-7-24 10:35:50

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

菜鸟菜问题
大家不要笑
为什么输出中文会有乱码呢?
在send函数里没有找到好的解决方法
望高手指点。。。

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

[ 本帖最后由 六叶竹 于 2008-7-27 23:23 编辑 ]

qop1830 发表于 2008-7-24 11:30:40

ANSI

``````````````

番茄 发表于 2008-7-24 12:44:04

SendX或者ControlSetTex

runningwater 发表于 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,速度快,推荐。

martins99 发表于 2008-7-24 15:44:28

进来学习下 高手辛苦了

六叶竹 发表于 2008-7-24 20:37:39

直接用sendx和ControlSetText替換的話不對啊
是不是有別的格式?

六叶竹 发表于 2008-7-24 20:37:48

直接用sendx和ControlSetText替換的話不對啊
是不是有別的格式?

skyfree 发表于 2008-7-25 09:02:21

我记得曾经有个把中文字符串导入黏贴板,再把黏贴板的内容写到某控件里

忘记具体方法了,思路还记得点儿

番茄 发表于 2008-7-25 12:16:57

原帖由 六叶竹 于 2008-7-24 20:37 发表 http://www.autoitx.com/images/common/back.gif
直接用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?

qop1830 发表于 2008-7-25 13:28:45

#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****

sanhen 发表于 2008-7-25 15:03:28

诸如此类的问题实在多得数不胜数,而难得现在热心的兄弟还是如此的多。

sanhen 发表于 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

不会不会不会。。
谁来。。帮忙啊。。。
困惑。。
页: [1] 2
查看完整版本: 为什么输出中文会有乱码呢?