zoukankan      html  css  js  c++  java
  • RegCloseKey函数

    RegCloseKey函数是释放一个对指定注册表项的句柄。

    LONG RegCloseKey(
      HKEY hKey   // 处理键关闭。
    );

    Parameters
        hKey      对打开键的句柄关闭。

    返回值

    如果函数成功,返回值为ERROR_SUCCESS。如果函数失败,返回值是Winerror.h中定义的非零错误代码。您可以使用FormatMessage函数和FORMAT_MESSAGE_FROM_SYSTEM标志来获得错误的通用描述。

    例子代码

    #define RTN_UNKNOWN 0
    #define RTN_SERVER 1
    #define RTN_WORKSTATION 2
    #define RTN_NTAS 3
    #define RTN_ERROR 13
    
    DWORD GetWindowsVariant(void)
    {
        #define MY_BUFSIZE 32    // Arbitrary initial value. 
                                 // Dynamic allocation will be used.
        HKEY hKey;
        TCHAR szProductType[MY_BUFSIZE];
        DWORD dwBufLen = MY_BUFSIZE;
        LONG lRet;
    
        if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
            TEXT("SYSTEM\CurrentControlSet\Control\ProductOptions"),
                        0,
                        KEY_QUERY_VALUE,
                        &hKey) != ERROR_SUCCESS) return RTN_ERROR;
    
        lRet = RegQueryValueEx(hKey,
                        TEXT("ProductType"),
                        NULL,
                        NULL,
                        (LPBYTE)szProductType,
                        &dwBufLen);
    
        RegCloseKey(hKey);
    
        if(lRet != ERROR_SUCCESS) return RTN_ERROR;
    
        // check product options, in order of likelihood
        if(lstrcmpi(TEXT("WINNT"), szProductType) == 0) 
             return RTN_WORKSTATION;
        if(lstrcmpi(TEXT("SERVERNT"), szProductType) == 0) 
             return RTN_SERVER;
        if(lstrcmpi(TEXT("LANMANNT"), szProductType) == 0) 
             return RTN_NTAS;
        // else return "unknown variant" code
        else return RTN_UNKNOWN;
    } 







  • 相关阅读:
    小Z的袜子
    C#操作XML
    C#中接口的实现方法
    C#邮箱批量注册
    C# 委托的使用
    C# socket
    在C#.net中如何操作XML
    C#接口的基础知识
    C#判断网页中是否含有某字符串
    C#多线程处理多个队列的数据
  • 原文地址:https://www.cnblogs.com/ke-yi-/p/10175858.html
Copyright © 2011-2022 走看看