第三个版本,支持多次添加,并允许删除已添加的注册表。
/*
* 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: HaipznSchool: HDUn");
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;
}
注意,如果系统提示缺少某dll文件,请到网上下载,并复制到C:WindowsSystem32目录下。
注:相关教程知识阅读请移步到C++教程频道。










