1. 在「我的电脑」中添加文件夹:
#include <iostream>
#include <Windows.h>
int main()
{
/* 键值句柄 */
HKEY handle_key;
DWORD dw_result;
/* 创建HKEY_CLASSES_ROOT\CLSID\{FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}键 */
dw_result = RegCreateKey(HKEY_CLASSES_ROOT, "CLSID\\{FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}", &handle_key);
if (dw_result == ERROR_SUCCESS)
{
char * p_value = "浮屠_大司命";
RegSetValueEx(handle_key, "", 0, REG_SZ, (unsigned char *)p_value, strlen(p_value));
}
RegCloseKey(handle_key);
/* 创建DefaultIcon键 */
dw_result = RegCreateKey(HKEY_CLASSES_ROOT, "CLSID\\{FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}\\DefaultIcon", &handle_key);
if (dw_result == ERROR_SUCCESS)
{
char * p_value = "C:\\WINDOWS\\Web\\Wallpaper\\Google Profile.ico";
RegSetValueEx(handle_key, "", 0, REG_SZ, (unsigned char *)p_value, strlen(p_value));
}
RegCloseKey(handle_key);
/* 创建InProcServer32键 */
dw_result = RegCreateKey(HKEY_CLASSES_ROOT, "CLSID\\{FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}\\InProcServer32", &handle_key);
if (dw_result == ERROR_SUCCESS)
{
char * p_value_1 = "shell32.dll";
char * p_value_2 = "Apartment";
RegSetValueEx(handle_key, "", 0, REG_SZ, (unsigned char *)p_value_1, strlen(p_value_1));
RegSetValueEx(handle_key, "ThreadingModel", 0, REG_SZ, (unsigned char *)p_value_2, strlen(p_value_2));
}
RegCloseKey(handle_key);
/* 创建...\Shell\Open My Menu\Command键 */
dw_result = RegCreateKey(HKEY_CLASSES_ROOT, "CLSID\\{FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}\\Shell\\Open My Menu\\Command", &handle_key);
if (dw_result == ERROR_SUCCESS)
{
char * p_value = "explorer /root,E:\\ExtendDisk";
RegSetValueEx(handle_key, "", 0, REG_SZ, (unsigned char *)p_value, strlen(p_value));
}
RegCloseKey(handle_key);
/* 创建...\ShellEx\PropertySheetHandlers\{FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}键 */
RegCreateKey(HKEY_CLASSES_ROOT, "CLSID\\{FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}\\ShellEx\\PropertySheetHandlers\\{FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}", &handle_key);
RegCloseKey(handle_key);
/* 创建...\ShellFolder键 */
dw_result = RegCreateKey(HKEY_CLASSES_ROOT, "CLSID\\{FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}\\ShellFolder", &handle_key);
if (dw_result == ERROR_SUCCESS)
{
BYTE b_value[4] = {00,00,00,00};
RegSetValueEx(handle_key, "Attributes", 0, REG_BINARY, b_value, 4);
}
RegCloseKey(handle_key);
/* 添加文件夹到「我的电脑」中 */
RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MyComputer\\NameSpace\\{FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}", &handle_key);
RegCloseKey(handle_key);
return 0;
}
2. 执行后的效果: