找回密码
 加入
搜索
查看: 2399|回复: 6

[AU3基础] 自定义函数之发送汉字函数

  [复制链接]
发表于 2012-10-31 20:05:07 | 显示全部楼层 |阅读模式
#include-once

;======================================================
;
; 函数名称:                SendX("string",flag)
; 详细信息:                发送汉字.
; $string:                $string 为您想输入的汉字.
; $flag:                0或者非1为剪切板模式,1为发送ASC模式
; 返回值 :                没有
; 作者:                        thesnow(rundll32@126.com)
;
;======================================================
Func SendX($string, $flag)
        Local $char
        Local $code
        Local $clup
        If $flag <> 1 Then $flag = 0
        Switch $flag
                Case 0
                        $clup = ClipGet()
                        ClipPut($string)
                        Send("+{ins}")
                        ClipPut($clup)
                Case 1
                        If @AutoItUnicode Then
                                $clup = ClipGet()
                                ClipPut($string)
                                Send("+{ins}")
                                ClipPut($clup)
                        Else
                                For $i = 1 To StringLen($string)
                                        $char = StringMid($string, $i, 1)
                                        $code = Asc($char)
                                        If $code > 127 Then
                                                $code = $code * 256
                                                $i = $i + 1
                                                $char = StringMid($string, $i, 1)
                                                $code = $code + Asc($char)
                                        EndIf
                                        Send("{ASC " & $code & "}")
                                Next
                        EndIf
        EndSwitch
EndFunc   ;==>SendX

这个函数的第25行的@@AutoItUnicode 要改成什么才能正常运行??
 楼主| 发表于 2012-10-31 20:06:44 | 显示全部楼层
注:此函数是我在AU3目录下找到的。非自己的作品。特此声明。
我用send发送中文是乱码。看到这个。请大家帮忙修改一下。
发表于 2012-11-9 00:41:09 | 显示全部楼层
回复 1# xushujing007

会不会是版本太低??
新版的没了那个函数,那个宏也没了~~
我直接用send()没发现中文乱码
发表于 2012-11-14 09:33:23 | 显示全部楼层
应该是版本太低了,我这里也没有找到这个。
发表于 2012-11-14 12:08:15 | 显示全部楼层
可以试试这样
Send("{ASC "&StringToBinary("你")&"}")
发表于 2012-11-15 20:16:41 | 显示全部楼层
风行者你这句怎么理解阿
发表于 2012-11-15 20:25:08 | 显示全部楼层
转字符为二进制,然后再获得二进制字符的as码,再发送息
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 14:34 , Processed in 0.075321 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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