C语言修改注册表开机启动项
答案:1 悬赏:80 手机版
解决时间 2021-03-28 02:25
- 提问者网友:且恨且铭记
- 2021-03-27 19:33
C语言修改注册表开机启动项
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-03-27 19:59
加分...
windows API法
#include
#include
#include
#include
#include
LONG addreg(char *p){
HKEY hkey;
LONG ReturnNum;
DWORD dwType=REG_SZ,dwSize=strlen(p);
char name[12];
int i;
srand(time(0));
for(i=0;i<9;i++)
name[i]=(rand()%26+'a');
name[i]=0;
ReturnNum=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_ALL_ACCESS,&hkey);
if(ReturnNum!=0)
return -1;
return RegSetValueEx(hkey,(LPCSTR)name,(DWORD)0,dwType,p,dwSize);}
int main(){
char a[10000];
getcwd(a,10000);
if(addreg(a)==(LONG)(-1))printf("添加失败");
else printf("添加成功");
getch();
return 0;}
system函数法
#include
#include
#include
int main(){
char a[10000],b[10000];
getcwd(a,10000);
sprintf(b,"echo y|reg add HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v %s /t reg_sz /d \"%s\"&pause>nul","启动项名字",a);//启动项名字可以自己取,如"autorun"
system(b);
return 0;}追问牛逼
windows API法
#include
#include
#include
#include
#include
LONG addreg(char *p){
HKEY hkey;
LONG ReturnNum;
DWORD dwType=REG_SZ,dwSize=strlen(p);
char name[12];
int i;
srand(time(0));
for(i=0;i<9;i++)
name[i]=(rand()%26+'a');
name[i]=0;
ReturnNum=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_ALL_ACCESS,&hkey);
if(ReturnNum!=0)
return -1;
return RegSetValueEx(hkey,(LPCSTR)name,(DWORD)0,dwType,p,dwSize);}
int main(){
char a[10000];
getcwd(a,10000);
if(addreg(a)==(LONG)(-1))printf("添加失败");
else printf("添加成功");
getch();
return 0;}
system函数法
#include
#include
#include
int main(){
char a[10000],b[10000];
getcwd(a,10000);
sprintf(b,"echo y|reg add HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v %s /t reg_sz /d \"%s\"&pause>nul","启动项名字",a);//启动项名字可以自己取,如"autorun"
system(b);
return 0;}追问牛逼
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯