1. 程式人生 > >C語言實現寫入登錄檔,簡單的開機自啟動

C語言實現寫入登錄檔,簡單的開機自啟動

這幾天突然發現自己的輸入法莫名其妙不能用了,怎麼都召喚不出來。去查了查相關事故,發現自己PC上一個叫CTFMON.EXE的檔案不知道啥時候被不小心刪除了還是怎麼地,反正就是用不了,於是重新在網上下載了一個,下載完成後開了幾次電腦突然才意識到每次運用輸入法都要提前執行這個程式,就覺得很麻煩,自己翻了下資料,弄了個自啟動的小程式解決一下。


#include <windows.h>
#include <stdio.h>
 
int main()
{
    //找到系統的啟動項 
    char *Register = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
    char *Myapp ="C:\\Users\\Administrator\\Desktop\\ctfmon.exe";
    HKEY hKey;
    
    //開啟登錄檔啟動項 
    if(RegOpenKeyExA(HKEY_CURRENT_USER, Register, 0, KEY_ALL_ACCESS, &hKey)== ERROR_SUCCESS)
    {
        //新增一個子Key,並設定值,"Mytest"並不一定是應用程式名字(不加字尾.exe) ,可以自己設定;
        RegSetValueExA(hKey, "Mytest", 0, REG_SZ, (BYTE *)Myapp, strlen(Myapp));
        //關閉登錄檔
        RegCloseKey(hKey);
        printf("succeed!\n");
    }
    else
    {
        printf("Failed!");
        return -1;
        
    }
    return 0;
}