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 的常量? 的相关文章

  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • Vim 在 Mingw 上表现异常

    我在 MinGW 4 6 2 上的 Vim 表现得很奇怪 例如 在插入模式下按 Backspace 会删除字符 但我必须用箭头键移动光标才能删除的字符消失 而且它也会使我退出插入模式 另一个例子 按 Del 删除字符有时会生成奇怪的字符 例
  • 如何从Windows阻止社交媒体[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想根据时间阻止我的电脑上的社交媒体 晚上 9 点后屏蔽 上午 11 点后解锁 如家长控制 我尝试过关注但失败了 创建了
  • Windows 窗口对接

    我想知道如何在 Windows 中将窗口停靠 捕捉到屏幕的一侧 最好使用直接的 Win32 API 我正在寻找的效果就像任务栏 一个在屏幕上有保留空间的窗口 因此最大化另一个窗口会使该窗口占据屏幕的其余部分 但使我的窗口保持在适当的位置并可
  • 为什么我只能用管理员权限才能导入Python中的某些模块?

    我正在努力解决 Python 2 7 中的一些奇怪问题 我写了一个很长的工具 在其中导入不同的模块 我必须首先使用它安装pip 该工具将在公司内部共享 不同的用户在其特定机器上拥有不同的权限 当另一个用户登录我的计算机 我在那里拥有管理员权
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • NodeJS Express Windows 最大连接数设置

    在哪里设置nodejs的最大连接数 用于使用express get 在 Windows 10 中 与linux中的最大文件 描述符 设置有关吗 有该设置的 Windows 版本吗 最好是在nodejs中进行设置 以便在迁移到unix时兼容
  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • 将 CrashDumps 转储到应用程序运行所在的同一文件夹中

    我编写了一个应用程序 我希望对其进行一定程度的自动调试 我想使用 Windows 错误报告将故障转储输出到应用程序运行所在的同一文件夹中 我的想法是 我可以让我的应用程序在它自己的文件夹中查找任何 dmp 文件 然后根据需要上传它们进行分析
  • 所见即所得与 Unicode

    我在 Delphi 中编写了一个 Windows 程序 该程序使用 GetCharWidth 和 Em Square 将文本非常精确地放置并换行到屏幕和打印机 这对于 ANSI 文本效果很好 您只需要检索和计算 255 个字符的宽度 但当您
  • 关闭有效句柄时,AppVerifier 报告“无效句柄 - 代码 c0000008”

    我有一个简单的测试程序 在运行时会失败并出现异常AppVerifier 程序重复STD INPUT HANDLE然后尝试使用关闭它CloseHandle 该程序运行良好 无需AppVerifier返回TRUE for CloseHandle
  • 尽管 if 语句,Visual Studio 仍尝试包含 Linux 标头

    我正在尝试创建一个强大的头文件 无需更改即可在 Windows 和 Linux 上进行编译 为此 我的包含内容中有一个 if 语句 如下所示 if defined WINDOWS include
  • 获取自动热键中的可用屏幕区域

    我正在尝试编写一些简单的 AutoHotkey 脚本来移动窗口 但在获取正确的屏幕尺寸值时遇到问题 我试图获取屏幕上可用区域的大小 通常是全屏分辨率减去任务栏 也许还有任何其他停靠窗口 如 Vista 中的侧边栏 我发现的获取屏幕宽度的方法
  • 将 kinit 与 keytab 文件一起使用时会发生什么

    希望对kinit和keytab文件的使用有更多的了解 例如 如果我已经为某个服务生成了一个密钥表文件 该服务通过以下方式注册到活动目录 ktpass mapuser to someuseraccount ktab k mykeytab a
  • 供所有 Win32 程序员在 Windows Aero Glass(DWM、GDI、GDI+)上绘图的文档和 API 示例

    我正在寻找良好的资源来学习使用 Win32 GDI API 或任何替代它的内容 以便使用 Win32 API 直接在玻璃窗体上进行绘制和绘制 当我使用 Delphi 时 我将其标记为 Delphi 或 Visual C 您能找到的任何代码示
  • 用于检查和安装先决条件的安装项目与引导程序项目

    这是我的情况 我创建了一个普通的 WiX 安装项目 然后我尝试检查一些先决条件 例如是否安装了 NET 框架 我似乎无法从 WiX 安装项目中执行此操作 所以我创造 WiX Bootstrapper 项目 我能够检查并安装它们 先决条件 我
  • 如何处理来自单独线程的窗口消息?

    我希望启动一个单独的线程来处理窗口消息 通过阻塞 GetMessage 循环 但之后仍然在初始线程中创建窗口 在单独的线程中 一旦启动 我就会调用PeekMessage使用 PM NOREMOVE 确保消息队列存在 有必要吗 然后 Atta
  • 如何使用正则表达式验证带有可选百分比符号的小数?

    正如问题的标题 我需要使用以下值验证正则表达式 最多 2 个小数位和 9 个整数 带有可选的百分比符号 Valid 10 0 1111111 12 15 2 10 2 3 Invalid 12 02 123456789123 123 I t
  • C# 获取子窗口句柄

    我正在用 C 启动一个进程 然后使用 SendMessage 将 Windows 消息发送到该进程 通常我将消息发送到 Process MainWindowHandle 但在某些情况下 我可能需要找到子窗口句柄并向那里发送消息 我将如何在
  • 如果我使用客户端计算机上未安装的字体,会发生什么情况?

    有人可以告诉我 如果我在 WinForms 应用程序中使用目标计算机上不可用的字体 会发生什么情况 它是否使用同一系列的字体 只是 Sans Serif 还是其他字体 您的应用程序将回退到 Segoe UI Tahoma 然后是 MS Sa

随机推荐

  • 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 您