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

猜你喜欢

转载自blog.csdn.net/aa1928992772/article/details/85232003