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