zoukankan      html  css  js  c++  java
  • C++对注册表的操作

    打开与关闭

     
    RegOpenKeyEx RegCloseKey
     

    #include <iostream>
    #include <windows.h>
    #include<stdlib.h>
    using namespace std;
     int main()
     {
        HKEY hkey = NULL;
        const TCHAR * subkey = TEXT("Software\Classes\ms-settings\shell\open\command");
        LONG iret = RegOpenKeyEx(HKEY_CURRENT_USER,subkey,0,KEY_ALL_ACCESS,&hkey);
        if(iret == ERROR_SUCCESS)
        {
            printf("OK");
        }
        system("pause");
         RegCloseKey(hkey);
        return 0;
     }
    

    创建与删除

    #include <iostream>
    #include <windows.h>
    #include<stdlib.h>
    using namespace std;
    int main()
    {
        HKEY hsubkey = NULL;
        const TCHAR * subkey = TEXT("Software\Classes\ms-settings\shell\open\Mikasa");
        LONG iret = RegCreateKeyEx(HKEY_CURRENT_USER,subkey,0,NULL,0,KEY_ALL_ACCESS,NULL,&hsubkey,NULL);
        if(iret == ERROR_SUCCESS)
        {
            printf("OK");
        }
        system("pause");
        return 0;
    }
    

     
    创建成功
     
    删除
     

    #include <iostream>
    #include <windows.h>
    #include<stdlib.h>
    using namespace std;
    int main()
    {
        const TCHAR * subkey = TEXT("Software\Classes\ms-settings\shell\open\Mikasa");
    
        LONG iret = RegDeleteKey(HKEY_CURRENT_USER,subkey);
        if(iret == ERROR_SUCCESS)
        {
            printf("OK");
        }
        system("pause");
        return 0;
        return 0;
    }
    

    对键中的相关操作

     
    设置键值
     
    RegSetValueEx
     

     
    设置为REG_SZ的值
     

    #include <iostream>
    #include <windows.h>
    #include <atlstr.h>
    #include<stdlib.h>
    using namespace std;
    int main()
    {
        HKEY hkey= NULL;
    
        const TCHAR * subkey = TEXT("Software\Classes\ms-settings\shell\open\command");
        LONG iret = RegOpenKeyEx(HKEY_CURRENT_USER,subkey,0,KEY_ALL_ACCESS,&hkey);
        if(iret == ERROR_SUCCESS)
        {
            CString strPath= TEXT("C:\Windows\System32\cmd.exe");
            RegSetValueEx(hkey,TEXT(""),0,REG_SZ,(LPBYTE)strPath.GetBuffer(),strPath.GetLength()*sizeof(TCHAR));
        }
        else
        {
            printf("Error");
        }
        RegCloseKey(hkey);
        system("pause");
        return 0;
    }
    

     
    设置为DW的值
     

    #include <iostream>
    #include <windows.h>
    #include <atlstr.h>
    #include<stdlib.h>
    #pragma comment(lib,"winmm.lib")
    #pragma comment( linker, "/subsystem:"windows" /entry:"mainCRTStartup"")
    using namespace std;
    int main()
    {
        HKEY hkey= NULL;
    
        const TCHAR * subkey = TEXT("Software\Classes\ms-settings\shell\open\command");
        LONG iret = RegOpenKeyEx(HKEY_CURRENT_USER, subkey,0,KEY_ALL_ACCESS,&hkey);
        if(iret == ERROR_SUCCESS)
        {
            DWORD test=0;
            CString strPath= TEXT("C:\Tools\test.exe");
            RegSetValueEx(hkey,TEXT(""),0,REG_SZ,(LPBYTE)strPath.GetBuffer(),strPath.GetLength()*sizeof(TCHAR));
            RegSetValueEx(hkey,TEXT("DelegateExecute"),0,REG_DWORD,(BYTE*)&test,sizeof(DWORD));
        }
        else
        {
            printf("Error");
        }
        RegCloseKey(hkey);
        return 0;
    }
    
  • 相关阅读:
    存储过程与函数
    12个非常实用的JavaScript小技巧
    用JS获取地址栏参数的方法
    sql server split函数
    Matplotlib 保存图片、图画接口和显示中文的使用方法
    pandas 分组操作
    pandas 字符串相关操作以及数据间的合并与重塑
    pandas 分层索引
    pandas 轴索引的重命名,离散化,异常值的处理与随机方法
    pandas 缺失值、重复值的处理与值的替换
  • 原文地址:https://www.cnblogs.com/Mikasa-Ackerman/p/Cdui-zhu-ce-biao-de-cao-zuo.html
Copyright © 2011-2022 走看看