《注册表知识模块附件-regop》由会员分享,可在线阅读,更多相关《注册表知识模块附件-regop(5页珍藏版)》请在金锄头文库上搜索。
1、注册表知识模块附件注册表知识模块附件-regop-regop#include #include #defineHKCUHKEY_CURRENT_USER#defineHKLMHKEY_LOCAL_MACHINEintmain(int argc,char* argv)HKEYhKey,hSubKey;charpszKeyName256;charpszSubKeyName256;charpszValueName256;DWORD dwValueType;BYTEValueData64=0;DWORD cbSize,dwDisposition;interrcode;if(argc 4)printf(
2、“Too many parameters !n“);return 1;if(argc = 1)printf(“Usage:n1. regop /c newsubkeyn2. regop /x subkeyn3. regop /d valuekeyn4. regop /r valuekeyn5. regop /w valuekey valuedatan6. regop /0 or /1n“);return 0;if(argc = 3) if(RegOpenKeyEx(HKCU,pszKeyName,0,KEY_CREATE_SUB_KEY,RegCreateKeyEx(hKey,pszSubKe
3、yName,0,0,0,0,0,RegCloseKey(hKey);RegCloseKey(hSubKey);else if(argc = 3) if(RegOpenKeyEx(HKCU,pszKeyName,0,KEY_WRITE,RegDeleteKey(hKey,pszSubKeyName);RegCloseKey(hKey);else if(argc = 3) if(RegOpenKeyEx(HKCU,pszKeyName,0,KEY_WRITE,RegDeleteValue(hKey,pszValueName);RegCloseKey(hKey);else if(argc = 3)
4、if(RegOpenKeyEx(HKCU,pszKeyName,0,KEY_QUERY_VALUE,dwValueType=REG_SZ;if(RegQueryValueEx(hKey,pszValueName,0,printf(“%s=%sn“,pszValueName,ValueData);elseprintf(“error on RegQueryValueEx at read.n“);RegCloseKey(hKey);else if(argc = 4) if(RegCreateKeyEx(HKCU,pszKeyName,0,0,0,KEY_WRITE,0,dwValueType=REG
5、_SZ;strcpy(ValueData,argv3);cbSize=64;RegSetValueEx(hKey,pszValueName,0,dwValueType,ValueData,cbSize);RegCloseKey(hKey);else if(argc = 2) if(RegCreateKeyEx(HKCU,pszKeyName,0,0,0,KEY_WRITE | KEY_READ,0,dwValueType=REG_DWORD;strcpy(ValueData,argv1+1);ValueData0-=0;cbSize=4;errcode=RegSetValueEx(hKey,pszValueName,0,dwValueType,ValueData,cbSize);if(RegQueryValueEx(hKey,pszValueName,0,printf(“%s=%8xhn“,pszValueName,*ValueData);elseprintf(“error on RegQueryValueEx at /0 or /1.n“);RegCloseKey(hKey);elseprintf(“parameters error.n“);return 9;return0;