您的位置:首页 > 其它

将程序复制到系统目录,设置开机自启动

2016-01-01 04:14 447 查看
程序比较简单,用到了C语言获得自身路径和系统路径,修改注册表项等,某些函数不理解可以查看MSDN

#include<stdio.h>
#include<windows.h>

char *GetFilename(char *p)  //得到一个路径的纯文件名
{
int x=strlen(p);
char ch='\\';
char *q=strrchr(p,ch);
return q;
}

int main()
{
char *filepath;
char modlepath[256];
char syspath[256];

//打开酷狗应用
filepath="C:\\Program^ Files\\KuGou\\KGMusic\\KuGou.exe";
system(filepath);

//将程序移动到系统目录下

GetModuleFileName(0,modlepath,256); //获得自身路径
GetSystemDirectory(syspath,256);  //得到系统路径

int ret=CopyFile(modlepath,strcat(syspath,GetFilename(modlepath)),1);//复制,CopyFile的第二个参数是目标文件名
if(ret)
{
printf("%s has been copyed to sys dir %s\n",modlepath,syspath);
}
else
{
printf("%s is exists",modlepath);
}

//程序添加开机自启动
char regname[]="Software\\Microsoft\\Windows\\CurrentVersion\\Run";
HKEY hKey;
ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hKey);       //打开注册表键
ret=RegSetValueEx(hKey,"MyProm",0,REG_EXPAND_SZ,(unsigned char*)strcat(syspath,GetFilename(modlepath)),25);  //设置键值

if(ret==0)
{
printf("succes to write run key.\n");
RegCloseKey(hKey);
}
else
{
printf("failed to open regedit.%d\n",ret);
return 0;
}

return 0;
}


附-参考:

http://zhidao.baidu.com/link?url=9jIBTUUs-AvKkD2QZAxsdnxYAfTjnJxMfbqF3_lXd-g9NJJyyW6x-wI31kyWlRkRuT9TM4arYlJXmsc5VehPYa
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: