相关疑难解决方法(0)

Windows 64位注册表与32位注册表

我听说在Windows x64架构上,为了支持运行x86和x64应用程序,有两个独立/不同的Windows注册表集 - 一个用于x86应用程序访问,另一个用于x64应用程序访问?例如,如果COM在x86注册表集中注册CLSID,那么x64应用程序永远无法通过CLSID访问COM组件,因为x86/x64具有不同的注册表集?

所以,我的问题是我对上述样本的理解是否正确?我还想获得更多文档来学习这个主题,关于x64架构上的两个不同的注册表集.(我做了一些搜索,但没有找到任何有价值的信息.)

com registry 64-bit x86 clsid

41
推荐指数
2
解决办法
7万
查看次数

为什么RegOpenKeyEx让我打开注册表编辑器中不存在的密钥?

在Microsoft Visual C++中,我有以下代码来访问注册表中的路径.然后我读键的值InstalledRegQueryValueEx.到目前为止,这个值似乎很好,1这与我系统上Visual C++ 2010运行时的存在相对应.(它恰好是检测c ++运行时存在的一段代码).

现在当我查看时regedit.exe,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0我没有VC在树上看到.

这怎么可能?我在这个问题中复制/粘贴了所有路径和代码,所以它们必须是正确的.

C++应用程序中的代码:

HKEY RegistryKey;
DWORD ErrorCode;
DWORD RegDwordValue = 0;
DWORD RegDwordValueSize = sizeof(DWORD);
if((ErrorCode = RegOpenKeyExA(HKEY_LOCAL_MACHINE,
                "SOFTWARE\\Microsoft\\VisualStudio\\10.0\\VC\\VCRedist\\x86",
                0, //Reserved
                KEY_READ,
                &RegistryKey)) != ERROR_SUCCESS)
{
    //Either the key does not exists, or registry access is denied. Anyway, detection did not succeed
    std::cout << "Could not read registry path:\n\t" << lpcRegistryPath << "\n\tError code: " << ErrorCode;
    return false;
}
if((ErrorCode = …
Run Code Online (Sandbox Code Playgroud)

c++ registry regedit windows-7

2
推荐指数
1
解决办法
1519
查看次数

在 Windows 7 注册表中查找 Java CurrentVersion

我支持旧的 Java 客户端应用程序,它可以在 Windows XP 上正常运行,但不能在 Windows 7 32 位上运行。问题出在用于启动应用程序的 BAT 文件中。BAT 文件包含的代码用于在注册表中查询 Java 的 CurrentVersion,然后使用该值来确定该 Java 版本在用户计算机上的路径。为了在 Java 客户端应用程序启动时将 rt.jar 包含在 CLASSPATH 中,这是必需的。以下代码在 Windows XP 上运行良好,但在 Windows 7 上返回:

“HKLM\SOFTWARE\JavaSoft\Java 运行时环境”\CurrentVersion 未找到。

:find_java
setlocal ENABLEEXTENSIONS
set KEY_NAME="HKLM\SOFTWARE\JavaSoft\Java Runtime Environment"
set VALUE_NAME=CurrentVersion

::
:: get the current version
::
FOR /F "usebackq skip=4 tokens=3" %%A IN (`REG QUERY "HKLM\SOFTWARE\JavaSoft\Java Runtime Environment" /v CurrentVersion 2^>nul`) DO (
    set ValueValue=%%A
)

if defined ValueValue (

    @echo the current Java runtime is  %ValueValue% …
Run Code Online (Sandbox Code Playgroud)

java windows registry batch-file

1
推荐指数
1
解决办法
8282
查看次数

标签 统计

registry ×3

64-bit ×1

batch-file ×1

c++ ×1

clsid ×1

com ×1

java ×1

regedit ×1

windows ×1

windows-7 ×1

x86 ×1