inno setup禁止中文安装路径
来源:互联网 发布:起死 鲁迅 知乎 编辑:程序博客网 时间:2024/06/04 17:46
在有些时候,一些安装的程序不能在中文路径下运行,所以要禁止用户选择中文路径。
我通过inno setup调用dll插件实现这个功能。简单的写了一个DLL,调用正则匹配文本,如果包含中文,返回true
效果如图
实现方法
首先要了解inno setup 的事件,inno setup可以绑定其中组件的事件。我们要添加的功能是,用户点击浏览按钮,如果选择的目录有中文,则还原默认的路径,提示有中文
1引入dll文件,将IsChineseStr.dll,放入脚本根目录tmp文件夹里面。当然,目录可以自己定。
[Files]Source: tmp\*; DestDir: {tmp}; Flags: dontcopy solidbreak ; Attribs: hidden system引入文件后,调用本函数(以下代码都在[code]字段里面实现)
[code]function IsChineseStr(Text:string) :boolean; external 'IsChineseStr@files:IsChineseStr.dll stdcall';定义了函数名称以后,就可以使用这个函数了。我们创建一个过程,来实现inno setup的安装目录文本框文本被改变事件。
varsDir:string;//声明一个变量存放默认路径procedure DirDirEditOnChange(Sender: TObject);begin if IsChineseStr(WizardForm.DirEdit.text)=true then begin WizardForm.DirEdit.text:=sDir; MsgBox('路径不能为中文', MBInformation, MB_OK); endend;上面这个过程就是,如果inno setup的目录文本框的内容被改变了,那么就判断是否有中文字符,如果有,提示不能为中文,还原这个默认的安装路径。其中变量sDir内容是在初始化安装包的时候获取。
下面给绑定事件,放在初始化安装包代码里面
procedure InitializeWizard();begin sDir:=WizardForm.DirEdit.text; WizardForm.DirEdit.OnChange:=@DirDirEditOnChange;end;综上,所有功能全部实现。核心是文本框内容被改变事件。
需要脚本的朋友可以在这儿下:http://download.csdn.net/download/applek_case/10010098
阅读全文
0 0
- inno setup禁止中文安装路径
- Inno Setup 注册表获取程序安装路径
- Inno Setup 及 My Inno Setup Extensions安装程序生成工具中文教程
- Inno Setup 及 My Inno Setup Extensions安装程序生成工具中文教程
- Inno setup安装脚本
- inno setup改变默认路径
- Inno Setup中文使用教程
- INNO SETUP 5.4 中文语言包
- Inno Setup 中文语言文件
- Inno Setup 详解中文资料
- inno setup多目录安装
- Inno Setup获取安装参数
- inno setup 安装 .net 服务
- inno setup多目录安装
- Inno Setup获取安装参数
- Inno Setup制作安装包
- INNO setup 制作安装包
- Windows安装包,Inno Setup
- Thinking in Java 读书笔记 第三章 运算符
- 用类描述计算机中CPU的速度和硬盘的容量
- 动态规划以及与贪心的区别
- 和为S的连续正数序列
- ActiveX 控件装入失败!-- 请检查浏览器的安全设置。
- inno setup禁止中文安装路径
- HDU 4435(charge-station)(BFS+最小花费)
- 设计模式-创建型-生成器
- Tomcat源码分析--生命周期管理
- 蓝桥杯-高精度加法
- 关于内连接、左外连接和迫切左外连接
- CSS(四) 设置文本样式
- Write Latex functions in html by applying MathJax
- Spring MVC的配置访问静态资源的三种方案