程序比较简单,用到了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; } |