C# · 12月 19, 2021

C语言实现写入注册表,简单的开机自启动

这几天突然发现自己的输入法莫名其妙不能用了,怎么都召唤不出来。去查了查相关事故,发现自己PC上一个叫CTFMON.EXE的文件不知道啥时候被不小心删除了还是怎么地,反正就是用不了,于是重新在网上下载了一个,下载完成后开了几次电脑突然才意识到每次运用输入法都要提前运行这个程序,就觉得很麻烦,自己翻了下资料,弄了个自启动的小程序解决一下。

#include

#include

void main()

{

    HKEY keyz;

    char *Register = “Software\Microsoft\Windows\CurrentVersion\Run”;//这是要写进的注册表的地方

    char *Myapp =”C:\Users\Administrator\Desktop\ctfmon.exe”;//这是我们需要自启动的程序的绝对路径

    //打开注册表启动项 

    if(RegOpenKeyExA(HKEY_CURRENT_USER,Register,KEY_ALL_ACCESS,&hKey)== ERROR_SUCCESS)

    {

        RegSetValueExA(keyz,”Mytest”,REG_SZ,(BYTE *)Myapp,strlen(Myapp));

        //关闭注册表

        RegCloseKey(keyz);

        printf(“succeed!n”);//执行成功输出

    }

    else

    {

        return -1;

        printf(“Failed!”);//执行失败

    }

  

}