/* WinAPI之kernel32简单应用,更多发现查阅: 【高级】AutoHotkey dllcall调用API全整理-Kernel32 */ LCMAP_BYTEREV := 0x00000800 ;仅Windows NT:反转字节顺序。例如,通过0x3450和0x4822,结果为0x5034和0x2248。 LCMAP_FULLWIDTH := 0x00800000 ; 全角字符 LCMAP_HALFWIDTH := 0x00400000 ; 半角字符 LCMAP_HIRAGANA := 0x00100000 ; 平假名 LCMAP_KATAKANA := 0x00200000 ; 片假名。 LCMAP_LINGUISTIC_CASING := 0x01000000 ; 使用语言规则来区分大小写,而不是文件系统的规则(默认值)。LCMAP_LOWEERCASE或LCMAP仅可与UPERCASE组合使用。 LCMAP_LOWERCASE := 0x00000100 ; 使用小写字母。 LCMAP_SIMPLIFIED_CHINESE := 0x02000000 ; 中文简体字转繁体字。 LCMAP_SORTKEY := 0x00000400 ; 创建正规化的宽文字排序键。 LCMAP_TRADITIONAL_CHINESE := 0x04000000 ; 繁体字转簡体字 LCMAP_UPPERCASE := 0x00000200 ; 使用大写字母。 NORM_IGNORECASE := 0x00000001 ; 不区分大小写。 NORM_IGNOREKANATYPE := 0x00010000 ; 不区分大小写。不区分平假名和片假名。平假名和片假名是一样的。 NORM_IGNORENONSPACE := 0x00000002 ; 忽略无发送字符。 NORM_IGNORESYMBOLS := 0x00000004 ; 忽略符号 NORM_IGNOREWIDTH := 0x00020000 ; 不区分单字节字符和双字节相同的字符 SORT_STRINGSORT := 0x00001000 ; 将分隔符视为符号。 MsgBox,% Halfwidth2Fullwidth("/") MsgBox,% Simplified2Traditional("发现") ;简单的简体与繁体转换 Simplified2Traditional(ByRef String,toSimp:=0){ LCMAP_SIMPLIFIED_CHINESE := 0x02000000,LCMAP_TRADITIONAL_CHINESE := 0x04000000 VarSetCapacity(output, 256) DllCall("kernel32\LCMapString", "UInt", DllCall("kernel32\GetUserDefaultLCID"), "UInt", (!toSimp?LCMAP_TRADITIONAL_CHINESE:LCMAP_SIMPLIFIED_CHINESE), "WStr", String, "Int", -1, "WStr", output, "Int", 256) String:=output,VarSetCapacity(output, -1) Return String } ;;半角与全角转换 Halfwidth2Fullwidth(ByRef String,toHalf:=0){ LCMAP_FULLWIDTH := 0x00800000,LCMAP_HALFWIDTH := 0x00400000 VarSetCapacity(output, 256) DllCall("kernel32\LCMapString", "UInt", DllCall("kernel32\GetUserDefaultLCID"), "UInt", (!toHalf?LCMAP_FULLWIDTH:LCMAP_HALFWIDTH), "WStr", String, "Int", -1, "WStr", output, "Int", 256) String:=output,VarSetCapacity(output, -1) Return String }
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)