杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2196|回复: 0

判断路径中是否存在中文字符范例

[复制链接]
发表于 2017-2-23 21:13:58 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. ;判断路径中是否存在中文字符范例
  2. ;少轻狂据网络资料改写
  3. ;转载请注明出处www.nsisfans.com

  4. !include "MUI2.nsh"
  5. !include "LogicLib.nsh"
  6. !insertmacro MUI_LANGUAGE "SimpChinese"

  7. OutFile "判断路径中是否存在中文字符.exe"
  8. Name "判断路径中是否存在中文字符"
  9. ;修改下面的路径为英文试试
  10. InstallDir "$PROGRAMFILES\修改这里为英文试试"
  11. BrandingText "www.nsisfans.com"


  12. Section nsisfans
  13.   !insertmacro MUI_HEADER_TEXT "检测路径" "NSIS技术爱好者www.nsisfans.com"

  14.         Push "$INSTDIR"
  15.         Call IsMultiBytes
  16.         Pop $0
  17.         ${If} $0 = 1
  18.                 MessageBox MB_OK "你的路径“$INSTDIR”里包含中文!"
  19.         ${Else}
  20.                 MessageBox MB_OK "你的路径正常!"
  21.         ${EndIf}
  22. SectionEnd

  23. Function IsMultiBytes
  24.         Exch $R0
  25.         Push $R1
  26.         Push $R2
  27.         Push $R3
  28.         Push $R4
  29.         StrLen $R1 $R0
  30.         ${For} $R2 0 $R1
  31.                 StrCpy $R3 $R0 1 $R2
  32.                 System::Call `*(&t1 "$R3")i.R4`
  33.                 System::Call `*$R4(&i1.R3)`
  34.                 SysTem::Free $R4
  35.                 ${If} $R3 > 0x7F
  36.                   StrCpy $R0 1
  37.                   Goto lab_true
  38.                 ${EndIf}
  39.         ${Next}
  40.         StrCpy $R0 0
  41. lab_true:
  42.         Pop $R4
  43.         Pop $R3
  44.         Pop $R2
  45.         Pop $R1
  46.         Exch $R0
  47. FunctionEnd
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-19 20:31 , Processed in 0.131967 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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