相关疑难解决方法(0)

在C++中将字符串(REG_SZ)值写入注册表

我已经获得了大部分用于向Windows注册表写入值的代码,但是当我将路径更改为虚拟键和我为测试设置的值时,它失败了.我的代码如下:

    HKEY hKey;
    LPCTSTR sk = TEXT("SOFTWARE\TestSoftware");

    LONG openRes = RegOpenKeyEx(HKEY_LOCAL_MACHINE, sk, 0, KEY_ALL_ACCESS , &hKey);

    if (openRes==ERROR_SUCCESS) {
        printf("Success opening key.");
    } else {
        printf("Error opening key.");
    }

    LPCTSTR value = TEXT("TestSoftwareKey");
    LPCTSTR data = "TestData\0";

    LONG setRes = RegSetValueEx (hKey, value, 0, REG_SZ, (LPBYTE)data, strlen(data)+1);

    if (setRes == ERROR_SUCCESS) {
        printf("Success writing to Registry.");
    } else {
        printf("Error writing to Registry.");
    }

    LONG closeOut = RegCloseKey(hKey);

    if (closeOut == ERROR_SUCCESS) {
        printf("Success closing key.");
    } else {
        printf("Error …
Run Code Online (Sandbox Code Playgroud)

c++ registry

18
推荐指数
2
解决办法
3万
查看次数

如何在Vista中读取注册表分支HKEY_LOCAL_MACHINE?

我将应用程序设置存储在HKEY_LOCAL_MACHINE\SOFTWARE\MyCompany分支下.不同用户的设置必须相同,这就是设置不在HKEY_CURRENT_USER下的原因.注册表值在使用应用程序期间读取.

现在,在Windows Vista中,由于UAC,您不能再使用以下代码来读取注册表值:

RegistryKey myKey = Registry.LocalMachine.CreateSubKey
        ("SOFTWARE\\MyCompany\\MyAppName");
Run Code Online (Sandbox Code Playgroud)

如何在我的代码(C#)中读取LocalMachine分支的值?

c# registry windows-vista

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

Vista + VB.NET - 写入HKEY_LOCAL_MACHINE时拒绝访问

我希望我的程序能够编辑驻留在"HKEY_LOCAL_MACHINE"中的注册表项中的值

    My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\XYZ", "MyValue", "MyData")
Run Code Online (Sandbox Code Playgroud)

以上在Windows XP中工作正常,但在Vista中引发了UnauthorizedAccessException.

vb.net registry uac exception windows-vista

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

标签 统计

registry ×3

windows-vista ×2

c# ×1

c++ ×1

exception ×1

uac ×1

vb.net ×1