【问题标题】:How to programatically change BDE 'INIT' settings如何以编程方式更改 BDE 'INIT' 设置
【发布时间】:2016-09-12 14:24:31
【问题描述】:

在 Inno 设置中,我将 SHAREDMEMLOCATION 和 SHAREDMEMSIZE 设置为 BDE 的注册表项

; BDE Memory Hacks
Root:HKLM; Subkey: "SOFTWARE\Wow6432Node\Borland\Database Engine\Settings\SYSTEM\INIT"; ValueType: string; ValueName: "SHAREDMEMLOCATION"; ValueData: "0x5000";
Root:HKLM; Subkey: "SOFTWARE\Wow6432Node\Borland\Database Engine\Settings\SYSTEM\INIT"; ValueType: string; ValueName: "SHAREDMEMSIZE"; ValueData: "4096";

我假设我不知道 BDE 的工作原理或 Windows 注册表的工作原理。我找到了一些我应该通过 BDE api 做 BDE 事情的信息,但我似乎找不到很多信息/库来做这件事。

【问题讨论】:

  • 我以为我可以手动设置注册表项,但看起来我不能。编辑问题以关注 BDE/注册表。

标签: registry bde


【解决方案1】:

SHAREDMEMLOCATION 和 SHAREDMEMSIZE 注册表值在非虚拟化注册表中的位置应为 HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\SYSTEM\INIT

如果您删除“Wow6432Node”部分,您的 InnoSetup 脚本是否有效?

Inno-Setup doesn't allow access to all registry keys, why?

还有 MSDN 上的“注册表虚拟化”https://msdn.microsoft.com/en-us/library/windows/desktop/aa965884(v=vs.85).aspx

您应该能够从您的 BDE 应用程序中设置注册表值,如果 UAC 已打开,这些设置只需转到 Wow6432Node 即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-09
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多