C ++ uses the Registry to add a desktop right-click to create a menu, and the Registry Desktop

Source: Internet
Author: User

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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.