簡體   English   中英

如何以編程方式啟用/禁用 Windows 啟動項?

[英]How to enable/disable Windows startup items programmatically?

我知道啟動項本身是在注冊表SOFTWARE\Microsoft\Windows\CurrentVersion\Run中定義的。

這可以用 win32 更改以添加/刪除啟動項。

但我不知道如何啟用/禁用這些項目?

SOFTWARE\Microsoft\Windows\CurrentVersion\Run下的條目沒有啟用/禁用標志。

如何使用 win32 啟用/禁用啟動項?

參考這個線程

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run 包含禁用程序的二進制數據記錄。 此數據通過常規 WinAPI 調用訪問和編輯。

所以可以嘗試更改注冊表信息來實現這個function。

一些代碼供您參考:

#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;
}

如果要禁用這個 function,只需將代碼修改為dwData = 0x03

更多參考: 配置安裝程序以在 Windows start 上啟用/禁用啟動C# 應用程序在啟動時未運行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM