对于程序员来说,新建一个cpp文件是再频繁不过的事情了。
为了方便,我们习惯在桌面右键新建文件,而不是新建一个文本文档,然后修改后缀名。
百度谷歌查询了一下,终于知道如何添加注册表。
手痒,抽出时间用cpp写了一个程序,方便以后操作。
客户需求是永远无法满足的,经同学测试,陆续写了三个版本。
接下来直接贴代码~
第一个版本,只能添加c、cpp、java三种后缀。
?
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
|
/*
* Author: Haipz
* School: HDU
* File Name: registry1.0.cpp
*/
#include <cstdio>
#include <cmath>
#include <ctime>
#include <cctype>
#include <cstring>
#include <cstdlib>
#include <climits>
#include <cfloat>
#include <iostream>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <algorithm>
using namespace std;
char s[1024], buffer[128], result[1024*4];
void work_1() {
system ( "reg add \\"HKEY_CLASSES_ROOT\\\\.c\\\\ShellNew\\" /v \\"NullFile\\" /t REG_SZ" );
}
void work_2() {
system ( "reg add \\"HKEY_CLASSES_ROOT\\\\.cpp\\\\ShellNew\\" /v \\"NullFile\\" /t REG_SZ" );
}
void work_3() {
system ( "reg add \\"HKEY_CLASSES_ROOT\\\\.java\\\\ShellNew\\" /v \\"NullFile\\" /t REG_SZ" );
}
int main() {
printf ( "Add registry for C, C++ and Java\\n" );
printf ( "Author: Haipz\\nSchool: HDU\\n" );
printf ( "1 for C;\\n2 for C++;\\n3 for Java.\\n" );
printf ( "Example: 12 to add C and C++.\\n" );
printf ( "Please make choice(s): " );
gets (s);
for ( int i = 0; s[i] != '\\0' ; ++i) {
printf ( "Working...\\n" );
if (s[i] == '1' ) work_1();
else if (s[i] == '2' ) work_2();
else if (s[i] == '3' ) work_3();
else printf ( "%c is a wrong enter!\\n" , s[i]);
}
system ( "pause" );
return 0;
}
|
第二个版本,精简了代码,支持添加用户输入的后缀。
?
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
|
/*
* Author: Haipz
* School: HDU
* File Name: registry2.0.cpp
*/
#include <cstdio>
#include <cmath>
#include <ctime>
#include <cctype>
#include <cstring>
#include <cstdlib>
#include <climits>
#include <cfloat>
#include <iostream>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <algorithm>
using namespace std;
char a[1024];
char b[1024] = "reg add \\"HKEY_CLASSES_ROOT\\\\." ;
char c[1024] = "\\\\ShellNew\\" /v \\"NullFile\\" /t REG_SZ" ;
void work( char * a) {
strcat (b, a);
strcat (b, c);
system (b);
}
int main() {
printf ( "Function: Add registry to build a new file simply!\\n" );
printf ( "Author: Haipz\\nSchool: HDU\\n" );
printf ( "Example: Enter c to add C and enter cpp to add C++.\\n" );
printf ( "Your opion: " );
gets (a);
work(a);
system ( "pause" );
return 0;
}
|
第三个版本,支持多次添加,并允许删除已添加的注册表。
?
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
56
|
/*
* Author: Haipz
* School: HDU
* File Name: registry2.0.cpp
*/
#include <cstdio>
#include <cmath>
#include <ctime>
#include <cctype>
#include <cstring>
#include <cstdlib>
#include <climits>
#include <cfloat>
#include <iostream>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <algorithm>
using namespace std;
char key[1024];
char a[1024];
void add( char * t) {
char b[1024] = "reg add \\"HKEY_CLASSES_ROOT\\\\." ;
char c[1024] = "\\\\ShellNew\\" /v \\"NullFile\\" /t REG_SZ" ;
strcat (b, t);
strcat (b, c);
system (b);
}
void del( char * t) {
char d[1024] = "reg delete \\"HKEY_CLASSES_ROOT\\\\." ;
char e[1024] = "\\\\ShellNew\\" /f" ;
strcat (d, t);
strcat (d, e);
system (d);
}
int main() {
printf ( "Function: Build a new file simply!\\n" );
printf ( "Author: Haipz\\nSchool: HDU\\n" );
printf ( "Example: Enter \\"c\\" to add C and enter \\"cpp\\" to add C++;\\n" );
printf ( " Enter \\"-c\\" to delete C.\\n" );
do {
printf ( "Your opion: " );
gets (a);
if (a[0] == '-' ) del(a + 1);
else add(a);
printf ( "Enter \\"r\\" to run again or any other key to quit: " );
gets (key);
} while (key[0] == 'r' );
return 0;
}
|
打包下载地址:
Regedity.zip
注意,如果系统提示缺少某dll文件,请到网上下载,并复制到C:\\Windows\\System32目录下。
相关文章
猜你喜欢
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
- 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
- ASP.NET自助建站系统中的用户注册和登录功能定制方法 2025-06-10
- ASP.NET自助建站系统的域名绑定与解析教程 2025-06-10
- 个人服务器网站搭建:如何选择合适的服务器提供商? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-06-04 37
-
2025-05-29 99
-
2025-05-29 14
-
2025-06-04 85
-
2025-06-04 36
热门评论