首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式启用/禁用Windows启动项目?

如何以编程方式启用/禁用Windows启动项目?
EN

Stack Overflow用户
提问于 2021-04-01 19:27:48
回答 1查看 240关注 0票数 0

我知道启动项本身是在注册表SOFTWARE\Microsoft\Windows\CurrentVersion\Run中定义的。

这可以使用win32进行更改,以添加/删除启动项目。

但我不明白的是如何启用/禁用这些项目?

SOFTWARE\Microsoft\Windows\CurrentVersion\Run下的条目没有启用/禁用标志。

如何使用win32启用/禁用启动项目?

EN

回答 1

Stack Overflow用户

发布于 2021-04-06 14:52:54

请参阅此thread

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApp‌​roved\Run

包含禁用程序的二进制数据记录。这些数据通过常规的WinAPI调用进行访问和编辑。

因此,您可以尝试更改注册表信息来实现此功能。

下面是一些代码供您参考:

代码语言:javascript
复制
#include <windows.h>

int main()
{
    HKEY key;
    BOOL fResult = RegOpenKeyEx(HKEY_CURRENT_USER, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\StartupApproved\\Run", 0, KEY_WRITE, &key);
    if (ERROR_SUCCESS == fResult)
    {
        DWORD dwData[] = { 0x2,0x0,0x0 };
        if (RegSetValueEx(key, __TEXT("OneDrive"), 0, REG_BINARY, (LPBYTE)&dwData, sizeof(dwData)))
        {
            return FALSE;
        }
    }
    return fResult;
}

如果您想关闭此功能,只需将代码修改为dwData = 0x03即可。

更多参考资料:Configuring an installer to enable/disable startup on Windows startC# application not running on startup

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66903672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档