C++实现添加桌面右键新建菜单

2020-01-06 14:17:13于海丽

第三个版本,支持多次添加,并允许删除已添加的注册表。


/*
 * 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++教程频道。