程序比较简单,用到了C语言获得自身路径和系统路径,修改注册表项等,某些函数不理解可以查看MSDN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#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;
}
|