C ++为什么我的代码将注册表项放在错误的目录中?

里奥·林布(Leo Noob Lin)

因此,我想将注册表项放在目录HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run中,并且我希望将其称为Test,并使其包含“ TestText”,但是此代码在此处放置了一个新项。 HKCU \ Test,程序在注册表项中写入随机的中文字符。有人帮忙吗?

#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <string>
#include <time.h>
using namespace std;

int main()
{
     HKEY keyExample;

    if (RegOpenKey(HKEY_CURRENT_USER, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run\\"), &keyExample) != ERROR_SUCCESS)
    {
        RegCloseKey(keyExample);
        return 69;
    }
     if (RegSetKeyValue(HKEY_CURRENT_USER, TEXT("Test"), 0, REG_SZ, (LPBYTE)"TestText", strlen("TestText")*sizeof(char)) != ERROR_SUCCESS)
     {
         RegCloseKey(keyExample);
         cout << "Unable to set registry value value_name";
     }

     RegCloseKey(keyExample);
     return 0;
}
阿德里安·麦卡锡(Adrian McCarthy)
RegSetKeyValue(HKEY_CURRENT_USER, ...

这是错误。您需要使用keyExample您在打开所需密钥时获得的密码。像这样:

RegSetKeyValue(keyExample, ...

对于ANSI / Unicode问题,您需要将TEXT()宏用于实际数据,而不仅仅是其名称:

RegSetKeyValue(keyExample, TEXT("Test"), 0, REG_SZ, TEXT("TestText"), lstrlen(TEXT("TestText"))*sizeof(TCHAR))

通常,忘记与TEXT / TCHAR菜单有关的所有旧的向后兼容的东西,而直接使用长字符串直接调用Windows API函数的W版本,通常会更容易。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++为什么我的代码将注册表项放在错误的目录中?

来自分类Dev

无法读取C ++中的注册表项

来自分类Dev

无法读取C ++中的注册表项

来自分类Dev

使用C#删除注册表项

来自分类Dev

C++ 注册表项问题

来自分类Dev

从 C# 读取注册表项

来自分类Dev

为什么我的代码找不到任何注册表项?

来自分类Dev

为什么我无法打开我的注册表项

来自分类Dev

为什么我不能更改Window 7注册表项?

来自分类Dev

为什么我的C中的sin计算代码返回错误的值?

来自分类Dev

我的C ++代码在宏+模板编译中失败,为什么会出现此错误?

来自分类Dev

为什么我在这个 C 代码中得到了错误的答案?

来自分类Dev

为什么我的C ++代码将进入无限循环?

来自分类Dev

如何在Windows 7 / Windows 8 C#中创建注册表项

来自分类Dev

无法在C#中写入HKEY_CURRENT_USER注册表项

来自分类Dev

使用C#删除注册表项中的所有值

来自分类Dev

无法在C#中写入HKEY_CURRENT_USER注册表项

来自分类Dev

使用C#删除注册表项中的所有值

来自分类Dev

C#写入HKCU中的注册表项不起作用

来自分类Dev

为什么在注册表项中设置了hidebasedonvelocityid标志?

来自分类Dev

为什么无法访问的代码在C ++中不是错误?

来自分类Dev

为什么无法访问的代码在C ++中不是错误?

来自分类Dev

为什么断点会在我的C ++代码中跳转?

来自分类Dev

为什么断点会在我的C ++代码中跳转?

来自分类Dev

C#获取Office ClickToRun注册表项返回null

来自分类Dev

如何读取注册表项的值C#

来自分类Dev

为什么这样工作?我不明白为什么我的代码可以在C中工作

来自分类Dev

为什么这给我c中的分段错误?

来自分类Dev

我在C ++中更改当前目录的代码不断给我带来Segmentation Fault:11错误

Related 相关文章

  1. 1

    C ++为什么我的代码将注册表项放在错误的目录中?

  2. 2

    无法读取C ++中的注册表项

  3. 3

    无法读取C ++中的注册表项

  4. 4

    使用C#删除注册表项

  5. 5

    C++ 注册表项问题

  6. 6

    从 C# 读取注册表项

  7. 7

    为什么我的代码找不到任何注册表项?

  8. 8

    为什么我无法打开我的注册表项

  9. 9

    为什么我不能更改Window 7注册表项?

  10. 10

    为什么我的C中的sin计算代码返回错误的值?

  11. 11

    我的C ++代码在宏+模板编译中失败,为什么会出现此错误?

  12. 12

    为什么我在这个 C 代码中得到了错误的答案?

  13. 13

    为什么我的C ++代码将进入无限循环?

  14. 14

    如何在Windows 7 / Windows 8 C#中创建注册表项

  15. 15

    无法在C#中写入HKEY_CURRENT_USER注册表项

  16. 16

    使用C#删除注册表项中的所有值

  17. 17

    无法在C#中写入HKEY_CURRENT_USER注册表项

  18. 18

    使用C#删除注册表项中的所有值

  19. 19

    C#写入HKCU中的注册表项不起作用

  20. 20

    为什么在注册表项中设置了hidebasedonvelocityid标志?

  21. 21

    为什么无法访问的代码在C ++中不是错误?

  22. 22

    为什么无法访问的代码在C ++中不是错误?

  23. 23

    为什么断点会在我的C ++代码中跳转?

  24. 24

    为什么断点会在我的C ++代码中跳转?

  25. 25

    C#获取Office ClickToRun注册表项返回null

  26. 26

    如何读取注册表项的值C#

  27. 27

    为什么这样工作?我不明白为什么我的代码可以在C中工作

  28. 28

    为什么这给我c中的分段错误?

  29. 29

    我在C ++中更改当前目录的代码不断给我带来Segmentation Fault:11错误

热门标签

归档