Inno Setup 中 AppData\LocalLow 的常量?

2023-12-15

目前可访问LocalLow我用这个:

{%USERPROFILE}\AppData\LocalLow

但我想知道 Inno Setup 中是否有一个常数,因为两者Roaming and Local有一个。


没有常数AppData\LocalLow.

您可以使用 Pascal 脚本来解决它。

要解决“LocalLow”问题,必须使用SHGetKnownFolderPath.
也可以看看检测AppData\LocalLow的位置.

由于缺乏(广泛的)PChar输入 Unicode Inno Setup。

const
  MAX_PATH = 260;
  AppDataLocalLowGUID = '{A520A1A4-1780-4FF6-BD18-167343C5AF16}';

// There's no PChar in Unicode Inno Setup,
// pretend the function returns a pointer to an Integer
function SHGetKnownFolderPath(rfid: TGUID; dwFlags: DWORD; hToken: THandle;
  var ppszPath: Integer): Integer;
  external '[email protected] stdcall';

// And allow the Integer to be copied to string
function StrCpy(Dest: string; Source: Integer): Integer;
  external '[email protected] stdcall';
  
// And allow the Integer pointer to be released
procedure CoTaskMemFreeAsInteger(pv: Integer);
  external '[email protected] stdcall';

function GetAppDataLocalLow: string;
var
  Path: Integer;
  I: Integer;
begin
  if SHGetKnownFolderPath(StringToGUID(AppDataLocalLowGUID), 0, 0, Path) = 0 then
  begin
    // The path should not be longer than MAX_PATH
    SetLength(Result, MAX_PATH);

    StrCpy(Result, Path);

    CoTaskMemFreeAsInteger(Path);

    // Look for NUL character and adjust the length accordingly
    SetLength(Result, Pos(#0, Result) - 1);
  end;
end;

如果您需要在非Code部分(Pascal 脚本之外),您可以使用脚本常量:

[Files]
Source: myfile.txt; DestDir: {code:GetAppDataLocalLow}

并且您需要更改函数签名以采用虚拟参数:

function GetAppDataLocalLow(Param: string): string;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Inno Setup 中 AppData\LocalLow 的常量? 的相关文章

随机推荐

  • TopAppBar 与导航集成的支架

    如何在中显示导航图标 后退箭头或菜单 TopAppBar using Scaffold基于 NavController 中的实际位置 我在用使用 Compose 1 0 0 alpha02 进行导航 下面是一个示例代码 描述了它应该如何工作
  • 为什么C++不允许继承友谊?

    为什么友谊在 C 中至少不能选择性地继承 我知道出于明显的原因而禁止传递性和反身性 我这么说只是为了阻止简单的常见问题解答引用答案 但缺乏类似的东西virtual friend class Foo 让我困惑 有谁知道这个决定背后的历史背景吗
  • 如何使用文件系统访问 API 获取视频的 src?

    使用新的文件系统访问 API 选择文件夹时 我想列出带有 HTML 标签的视频 但我无法从文件句柄中获取源代码 可以从输入读取视频 const blobUrl URL createObjectURL droppedFiles 0 this
  • .NET 中的 XML 数据管理

    我学习 NET 中的 Xml 数据处理 我有以下 XML 格式
  • GraphQL 和 Rest api 有什么区别

    我想知道这一切的原因是什么qraphQL用来代替rest api 据我所知 可以使用以下命令在一个请求中发出一组 HTTP 请求 而不是发出多个请求 以减少 HTTP 请求 graphQL 有人可以再描述一下吗 提前致谢 互联网上有许多文章
  • 无法加载DLL“sqlite3”:找不到指定的模块

    我很难让我的测试针对我的 SQLite 数据提供程序运行 我查看了建议的链接在 stackoverflow 上 但他们似乎都没有让我走上正确的道路 我已经下载了Windowssqlite3 dll 的预编译二进制文件 I ve copied
  • ADAL:W8.1 应用程序尝试注销用户

    我有一个概念验证 W8 1 app 它允许使用 ADAL 库通过 Azure Active Directory 对用户进行身份验证 我已经完成了允许用户登录并访问我的资源的部分 但是 它应该能够允许用户注销 并允许其他用户在同一设备上登录
  • JsonMappingException:找不到非具体 Map 类型的反序列化器

    String str commonClient authorizedRequestBuilder commonClient webTarget path apps get current version default appName ap
  • java.sql.SQLException:用户访问被拒绝

    我想创建一个可以从任何主机访问Mysql服务器的用户 I use create user email protected identified by abc123 and grant all privileges mydb to abc 但
  • 在 Apple WatchKit 中使用核心位置

    我目前正在开发苹果手表扩展 有人知道当前位置是由 iPhone 还是 Watch 本身提供的吗 我找不到任何关于此的信息 我需要画一个指南针指向手表所指向的位置 为了做你想做的事 你不需要 CoreLocation 你只需要一个磁力计 AF
  • 将旋转位图与拼贴图像匹配

    我的问题是我有一张详细街道地图的图像 在此地图上 可以存在以任意角度旋转的特定标志小图像 例如交通灯图标 也可以调整大小 我在位图中有这个小图像 如果在大拼贴图像中存在该位图的副本 旋转并可能调整大小 是否有任何算法或技术可以用来定位该位图
  • 如何在 Woocommerce 购物车页面添加订单备注字段?

    我想在 Woocommerce 购物车页面的 Woocommerce 购物车优惠券区域下添加注释字段 该字段应该类似于 Woocommerce 结帐页面的 订单注释 字段 客户可以在其中添加一些注释 到目前为止 我有这段代码指示我想要的位置
  • 展平 NumPy 数组列表?

    看来我有 NumPy 数组列表格式的数据 type np ndarray array 0 00353654 array 0 00353654 array 0 00353654 array 0 00353654 array 0 0035365
  • switch语句eclipse错误:case表达式必须是常量表达式

    我编写了一个程序 可以根据我输入的颜色输出一朵花 在 switch 语句中 我不断看到一条错误 指出 case 表达式必须是常量表达式 我不明白我哪里做错了 我还遇到了打印花的复数时态的问题 如果用户输入 2 或更高 这是代码 Scanne
  • ExtJS 4.0.7 scrollTo() 滚动但不移动滚动条滑块?

    我有一个树面板 正在尝试对某些位置进行动画滚动 我正在做这样的事情 myTreePanel getView getEl scrollTo top yCoord true animate 视图滚动到正确的位置 但滚动条中的 滑块 没有移动 有
  • 如何选择包含按钮的 QTableWidget 单元格

    我有一个关于 PyQt4 上的 QTableWidget 的问题 假设我有一个 QTableWidget 我想使用以下方法将事件连接到单元格单击 table cellClicked connect cellClick then 单元格点击函
  • Angular - 自定义元素不适用于 Firefox、Microsoft Edge 和 Internet Explorer

    我试过这个角度元素演示 我在本地下载 安装并构建了该演示 然后 使用以下代码
  • C 中的命名空间

    有没有办法 滥用 使用C预处理器来模拟命名空间C 我正在思考以下几点 define NAMESPACE name of ns some function some other function 这将被翻译为 name of ns some
  • 302s 和 urllib2 丢失 cookie

    我将 liburl2 与 Cookie Jar HTTP CookieProcessor 一起使用 试图模拟登录页面以自动上传 我已经看到了一些关于此的问题和答案 但没有解决我的问题 当我模拟以 302 重定向结束的登录时 我丢失了 coo
  • Inno Setup 中 AppData\LocalLow 的常量?

    目前可访问LocalLow我用这个 USERPROFILE AppData LocalLow 但我想知道 Inno Setup 中是否有一个常数 因为两者Roaming and Local有一个 没有常数AppData LocalLow 您