Inno Setup 获取宽字节类型的字符串

因为 Inno Setup 没有提供 PWideChar 类型(Dephi 中有?),而只提供了 PAnsiChar,如果需要接收第三方 dll 返回的宽字节类型(如: C++ 的 wchar_t * 或者 LPWSTR 类型),使用 PAnsiChar 只能接收到第一个字符,如果需要获取完整的字符串内容,就我们需要自己处理。 处理的思路也很简单: 第一步:获取到字符串首字符的地址; 用 Cardinal 类型来接收字符串的首地址,为了方便理解,直接把 Cardinal 定义为 PWideChar 类型,如 第二步:获取字符串的长度; 通过调用 windows 系统 api 中的 lstrlenW() 方法来获取字符串的长度,返回类型也是 Cardinal: 第三步:生成一个长度为上述获取到的字符串长度的字符串变量; 通过 SetLength() 方法,设定字符串变量的长度; 第四步:把获取到的字符串的内容拷贝到这个新的字符串变量中; 通过调用 lstrcpyW() 方法: 实现例子: 这里通过 GetCommandLineW() 方法来测试 参考: How can I dereference a […]

InnoSetup 打包 WPF 开发的程序

下载 Inno Setup 打开官网:https://jrsoftware.org/isinfo.php,点击下载 Inno Setup 提供两种下载:1.单纯的 Inno Setup 软件,innosetup-6.0.3.exe;2.附带了 Inno Setup Studio 编辑器的版本 innosetup-qsp-6.0.3.exe(推荐下载,操作更简单); 安装 跟普通软件一样, 在安装过程中选择下载并安装 Inno Setup Studio 和加密支持: 安装完后打开 Inno Setup Studio 如下图: 快速打包 主要包括两大步:准备好 C# 编译后的代码;安装包脚本。 这里测试的代码,只有一个 toplayer.exe Inno Setup 提供快速打包的功能,根据提示选择所需要的选项即可完成打包。 启动快速打包功能 点击 File > New > New Script (Wizard) 就会打开以下窗口,根据对话框提示进行操作: 点击 Next,填写软件的相关信息: Application name: 软件的名字;Application version: 软件的版本号;Application publisher: 软件的发布者(你公司的名字)Application […]