gpt4 book ai didi

c++ - 使用 C++ 更改默认浏览器值

转载 作者:行者123 更新时间:2023-11-30 05:39:31 25 4
gpt4 key购买 nike

我正在处理一个小问题,我想在运行时设置默认目录。所以我已经实现了下面的代码,但它仍然没有工作,尽管它没有给我任何错误。

enter image description here

我已经编写了如下指定的代码。请让我知道代码中的错误是什么?

    HKEY hKey;
LPCTSTR sk = TEXT("Software\\Microsoft\\Internet Explorer\\Main");
LPCTSTR value = TEXT("Default Download Directory");
LPCTSTR newValue = TEXT("C:\\Users\\USRNAME\\PROJ\\My Files");

LONG lRes = RegOpenKeyEx(HKEY_CURRENT_USER, sk,0, KEY_READ, &hKey);
bool bExistsAndSuccess(lRes == ERROR_SUCCESS);
RegCloseKey(hKey);

if (bExistsAndSuccess)
{
MessageBox(NULL, ptr, _T("bingo, Found you & key"), MB_OK | MB_ICONINFORMATION);


if (RegSetValueEx(hKey, value, 0, REG_SZ, (LPBYTE)newValue, sizeof(newValue)+1) != ERROR_SUCCESS)
{
RegCloseKey(hKey);
MessageBox(NULL, ptr, _T("bingo, success"), MB_OK | MB_ICONINFORMATION);
}
else
{
MessageBox(NULL, ptr, _T("bingo, failure"), MB_OK | MB_ICONINFORMATION);
}
}
else
{
MessageBox(NULL, ptr, _T("bingo, Found you without key"), MB_OK | MB_ICONINFORMATION);
}

它向我显示宾果游戏、成功消息框,但注册表中的值未更新。请帮助我。

最佳答案

正如 molbdnilo 提到的,newValue 是一个指针。 sizeof(newValue) 不是字符串的长度。所以我用 _tcslen(newValue) * sizeof(TCHAR)+1

更改了代码

& 根据 Vlad 的评论,我已经删除了在 RegSetValueEx 之前执行的 RegCloseKey 语句

关于c++ - 使用 C++ 更改默认浏览器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32325523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com