C ++ uses the Registry to add a desktop right-click to create a menu, and the Registry Desktop
For programmers, it is no longer frequent to create a cpp file.
For convenience, we are used to right-click the desktop to create a file, instead of creating a text document, and then modify the suffix.
Baidu Google looked up and finally learned how to add a registry.
It takes time to write a program with cpp to facilitate subsequent operations.
Customer requirements cannot be met forever. After testing, three versions are successively written.
Next, paste the Code directly ~
In the first version, only three suffixes c, cpp, and java can be added.
1 /* 2 * Author: Haipz 3 * School: HDU 4 * File Name: registry1.0.cpp 5 */ 6 #include <cstdio> 7 #include <cmath> 8 #include <ctime> 9 #include <cctype>10 #include <cstring>11 #include <cstdlib>12 #include <climits>13 #include <cfloat>14 #include <iostream>15 #include <vector>16 #include <stack>17 #include <queue>18 #include <set>19 #include <map>20 #include <algorithm>21 using namespace std;22 23 char s[1024], buffer[128], result[1024*4];24 25 void work_1() {26 system("reg add \"HKEY_CLASSES_ROOT\\.c\\ShellNew\" /v \"NullFile\" /t REG_SZ");27 }28 29 void work_2() {30 system("reg add \"HKEY_CLASSES_ROOT\\.cpp\\ShellNew\" /v \"NullFile\" /t REG_SZ");31 }32 33 void work_3() {34 system("reg add \"HKEY_CLASSES_ROOT\\.java\\ShellNew\" /v \"NullFile\" /t REG_SZ");35 }36 37 int main() {38 printf("Add registry for C, C++ and Java\n");39 printf("Author: Haipz\nSchool: HDU\n");40 printf("1 for C;\n2 for C++;\n3 for Java.\n");41 printf("Example: 12 to add C and C++.\n");42 printf("Please make choice(s): ");43 gets(s);44 for (int i = 0; s[i] != '\0'; ++i) {45 printf("Working...\n");46 if (s[i] == '1') work_1();47 else if (s[i] == '2') work_2();48 else if (s[i] == '3') work_3();49 else printf("%c is a wrong enter!\n", s[i]);50 }51 system("pause");52 return 0;53 }
The second version simplifies the code and supports adding suffixes entered by users.
1 /* 2 * Author: Haipz 3 * School: HDU 4 * File Name: registry2.0.cpp 5 */ 6 #include <cstdio> 7 #include <cmath> 8 #include <ctime> 9 #include <cctype>10 #include <cstring>11 #include <cstdlib>12 #include <climits>13 #include <cfloat>14 #include <iostream>15 #include <vector>16 #include <stack>17 #include <queue>18 #include <set>19 #include <map>20 #include <algorithm>21 using namespace std;22 23 char a[1024];24 char b[1024] = "reg add \"HKEY_CLASSES_ROOT\\.";25 char c[1024] = "\\ShellNew\" /v \"NullFile\" /t REG_SZ";26 27 void work(char* a) {28 strcat(b, a);29 strcat(b, c);30 system(b);31 }32 33 int main() {34 printf("Function: Add registry to build a new file simply!\n");35 printf("Author: Haipz\nSchool: HDU\n");36 printf("Example: Enter c to add C and enter cpp to add C++.\n");37 printf("Your opion: ");38 gets(a);39 work(a);40 system("pause");41 return 0;42 }
In the third version, you can add the Registry multiple times and delete it.
1 /* 2 * Author: Haipz 3 * School: HDU 4 * File Name: registry2.0.cpp 5 */ 6 #include <cstdio> 7 #include <cmath> 8 #include <ctime> 9 #include <cctype>10 #include <cstring>11 #include <cstdlib>12 #include <climits>13 #include <cfloat>14 #include <iostream>15 #include <vector>16 #include <stack>17 #include <queue>18 #include <set>19 #include <map>20 #include <algorithm>21 using namespace std;22 23 char key[1024];24 char a[1024];25 26 void add(char* t) {27 char b[1024] = "reg add \"HKEY_CLASSES_ROOT\\.";28 char c[1024] = "\\ShellNew\" /v \"NullFile\" /t REG_SZ";29 strcat(b, t);30 strcat(b, c);31 system(b);32 }33 34 void del(char* t) {35 char d[1024] = "reg delete \"HKEY_CLASSES_ROOT\\.";36 char e[1024] = "\\ShellNew\" /f";37 strcat(d, t);38 strcat(d, e);39 system(d);40 }41 42 int main() {43 printf("Function: Build a new file simply!\n");44 printf("Author: Haipz\nSchool: HDU\n");45 printf("Example: Enter \"c\" to add C and enter \"cpp\" to add C++;\n");46 printf(" Enter \"-c\" to delete C.\n");47 do {48 printf("Your opion: ");49 gets(a);50 if (a[0] == '-') del(a + 1);51 else add(a);52 printf("Enter \"r\" to run again or any other key to quit: ");53 gets(key);54 } while (key[0] == 'r');55 return 0;56 }
Packaging:
Http://files.cnblogs.com/haipzm/Regedity.zip
Note: If the system prompts that a dll file is missing, download it online and copy it to the C: \ Windows \ System32 directory.