通过IGroupPolicyObject实现修改某个组策略
来源:互联网 发布:煲机软件 编辑:程序博客网 时间:2024/05/18 03:24
修改自动播放功能
HRESULT hr=S_OK; ::CoInitialize(NULL); IGroupPolicyObject* p = NULL; /*hr = CoCreateInstance(CLSID_GroupPolicyObject, NULL, CLSCTX_INPROC_SERVER, IID_IGroupPolicyObject, (LPVOID*)&p);*/ hr = CoCreateInstance(CLSID_GroupPolicyObject, NULL, CLSCTX_ALL,IID_IGroupPolicyObject,(LPVOID*)&p); log_error("CoCreateInstance = %d\n",GetLastError()); log_error("CoCreateInstance() failed 0x%08x\n", hr); if (SUCCEEDED(hr)) { DWORD dwSection = GPO_SECTION_USER; HKEY hGPOSectionKey = NULL; DWORD dwData; HKEY hSettingKey; LSTATUS rStatus; DWORD lData = 255; hr = 0; //hr = p->OpenDSGPO( bGPOPath, GPO_OPEN_LOAD_REGISTRY); hr = p->OpenLocalMachineGPO(GPO_OPEN_LOAD_REGISTRY); hr = p->GetRegistryKey(dwSection, &hGPOSectionKey); long returnnum = RegOpenKeyEx( hGPOSectionKey, L"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", 0, KEY_WRITE, &hSettingKey) ; log_printf(" RegOpenKeyEx return num = %d\n",returnnum); if(returnnum != ERROR_SUCCESS ) { rStatus = RegCreateKeyEx( hGPOSectionKey, L"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hSettingKey, NULL ); } rStatus = RegSetValueEx(hSettingKey, L"NoDriveTypeAutoRun", NULL, REG_DWORD, (BYTE *)(&lData), sizeof(DWORD)); rStatus = RegCloseKey(hSettingKey); GUID RegistryId = REGISTRY_EXTENSION_GUID; GUID ThisAdminToolGuid = { 0x0F6B957E, 0x509E, 0x11D1, {0xA7, 0xCC, 0x00, 0x00, 0xF8, 0x75, 0x71, 0xE3} }; rStatus = RegCloseKey(hGPOSectionKey); hr = p->Save( FALSE, TRUE, &RegistryId, &ThisAdminToolGuid ); CoUninitialize(); hr = p->Release(); } hr=S_OK; ::CoInitialize(NULL); p = NULL; /*hr = CoCreateInstance(CLSID_GroupPolicyObject, NULL, CLSCTX_INPROC_SERVER, IID_IGroupPolicyObject, (LPVOID*)&p);*/ hr = CoCreateInstance(CLSID_GroupPolicyObject, NULL, CLSCTX_ALL,IID_IGroupPolicyObject,(LPVOID*)&p); log_error("CoCreateInstance = %d\n",GetLastError()); log_error("CoCreateInstance() failed 0x%08x\n", hr); if (SUCCEEDED(hr)) { DWORD dwSection = GPO_SECTION_MACHINE; HKEY hGPOSectionKey = NULL; DWORD dwData; HKEY hSettingKey; LSTATUS rStatus; DWORD lData = 255; hr = 0; //hr = p->OpenDSGPO( bGPOPath, GPO_OPEN_LOAD_REGISTRY); hr = p->OpenLocalMachineGPO(GPO_OPEN_LOAD_REGISTRY); log_printf("p->OpenLocalMachineGPO(GPO_OPEN_LOAD_REGISTRY) = %d",hr); hr = p->GetRegistryKey(dwSection, &hGPOSectionKey); log_printf("p->GetRegistryKey(dwSection, &hGPOSectionKey) = %d",hr); long returnnum = RegOpenKeyEx( hGPOSectionKey, L"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", 0, KEY_WRITE, &hSettingKey) ; log_printf(" RegOpenKeyEx return num = %d\n",returnnum); if(returnnum != ERROR_SUCCESS ) { rStatus = RegCreateKeyEx( hGPOSectionKey, L"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hSettingKey, NULL ); log_printf("RegCreateKeyEx return num = %d\n",rStatus); } rStatus = RegSetValueEx(hSettingKey, L"NoDriveTypeAutoRun", NULL, REG_DWORD, (BYTE *)(&lData), sizeof(DWORD)); log_printf("RegSetValueEx NoDriveTypeAutoRun return num = %d\n",rStatus); rStatus = RegCloseKey(hSettingKey); GUID RegistryId = REGISTRY_EXTENSION_GUID; GUID ThisAdminToolGuid = { 0x0F6B957E, 0x509E, 0x11D1, {0xA7, 0xCC, 0x00, 0x00, 0xF8, 0x75, 0x71, 0xE3} }; rStatus = RegCloseKey(hGPOSectionKey); hr = p->Save( TRUE, TRUE, &RegistryId, &ThisAdminToolGuid ); log_printf("Save return num = %d\n",hr); CoUninitialize(); hr = p->Release(); }
阅读全文
0 0
- 通过IGroupPolicyObject实现修改某个组策略
- 通过IGroupPolicyObject实现修改某个组策略
- 通过组策略禁止域用户修改IP地址
- 2008域策略--通过AD修改桌面壁纸
- VC修改组策略
- VC修改组策略
- 组策略禁止某个程序运行
- 获得WIN7管理员权限(可通过修改注册表,或者组策略改变)
- ABAP 通过SQL修改某个程序的锁定状态
- 通过Git查看某个文件的修改历史
- 修改组策略立即生效
- 组策略权限修改msc
- C++修改本地组策略
- 如何实现通过某个事件,使按钮自动按下?
- Servlet:通过初始参数实现权限访问某个文件、页面
- 修改某个表的文件组
- 通过修改注册表实现Windows 隐藏账户
- 通过简单C编程实现注册表修改
- 让自己的网站使用QQ发邮件(asp.net)
- 在android studio中导入cocos2dx中的android studio项目
- 网易牛客网2018内推编程题
- java中sqrt函数的详解
- linux线程同步---条件变量
- 通过IGroupPolicyObject实现修改某个组策略
- NYOJ【57】6174问题【数学】
- C语言:极简陋的井字棋
- 百度地图实现公司位置的定位,可拖动修改公司位置。
- 深度解析Objective-C笔试题
- Spring Boot-配置文件详解:Properties和YAML
- python3实现选择排序和插入排序
- 使用MNIST数据集验证Caffe是否安装成功
- CoordinatorLayout--协调者