我想用VC来设置显示已知类型的扩展名,后来查了一下,打算用注册表解决该问题。
希望哪位大侠写代码。资料:
HKEY_LOCAL_MACHINE\\SOFTWARE\\MICORSOFT\\WINDOWS\\CURRENTVERSION\\EXPLORE\\ADVANCED\\FOLDER\\HIDDEN\\HIDDEN\\HIDEFILEEXT\\下的UcheckedValue键值,如果为0,则显示已知类型的扩展名,为1则不显示已知类型的扩展名。要求:
1.将HKEY_LOCAL_MACHINE\\SOFTWARE\\MICORSOFT\\WINDOWS\\CURRENTVERSION\\EXPLORE\\ADVANCED\\FOLDER\\HIDDEN\\HIDDEN\\HIDEFILEEXT\\下的UcheckedValue键值改为0.
2.写成函数形式,代码越短越好!
3.VC++6.0的控制台下必须编译通过(注意,是控制台下)
谢谢了

解决方案 »

  1.   


    CRegKey reg;
    LONG res = reg.Open(HKEY_LOCAL_MACHINE, SOFT_REGKEY_PATH, KEY_ALL_ACCESS);
    if (res != ERROR_SUCCESS) //打开注册表失败
    {
    InitOver();
    return;
    }
    //res = reg.QueryDWORDValue(SOFT_REGKEY_NAME, m_RegKeyValue); //获取键值
    TCHAR szValue[50], szValue2[10];
    m_format.ClearArray(szValue, 50, L'\0');
    m_format.ClearArray(szValue2, 10, L'\0');
    ULONG ncount = 50;
    res = reg.QueryStringValue(SOFT_REGKEY_NAME_VERSION, szValue, &ncount); //获取键值
    if (res != ERROR_SUCCESS) //读取注册表失败
    {
    reg.Close();
    InitOver();
    return;
    }
    CString cs(code2);
    reg.SetStringValue(SOFT_REGKEY_NAME_UESDTIMES, cs); //使用次数写入注册表
      

  2.   

    #include <stdlib.h> 
    void main() 
    {
    system("reg add "
    "HKEY_LOCAL_MACHINE\\SOFTWARE\\MICORSOFT\\WINDOWS\\CURRENTVERSION"
    "\\EXPLORE\\ADVANCED\\FOLDER\\HideFileExt"
    " /v UcheckedValue /t REG_DWORD /d 00000000");
    }
      

  3.   

    #include "shlwapi.h"
    #pragma comment(lib, "shlwapi.lib")DWORD dwValue = 0;SHSetValue(HKEY_CURRENT_USER, 
               TEXT("Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"), 
               TEXT("HideFileExt"),
               REG_DWORD, 
               &dwValue, 
               sizeof(DWORD));
      

  4.   


    #include <atlbase.h> //注册表
    #define SOFT_REGKEY_PATH _T("SOFTWARE\\MICORSOFT\\WINDOWS\\CURRENTVERSION\\EXPLORE\\ADVANCED\\FOLDER\\HIDDEN\\HIDDEN\\HIDEFILEEXT")
    #define SOFT_REGKEY_NAME _T("UcheckedValue")
    BOOL SetRegUcheckedValue(DWORD n)
    {
    CRegKey reg;
        LONG res = reg.Open(HKEY_LOCAL_MACHINE, SOFT_REGKEY_PATH, KEY_ALL_ACCESS);
        if (res != ERROR_SUCCESS)    //打开注册表失败
        {
            return FALSE;
        }
        res = reg.SetDWORDValue(SOFT_REGKEY_NAME, n);
       if (res != ERROR_SUCCESS)    //修改键值失败
        {
            return FALSE;
        }
        return TRUE;
    }
      

  5.   


    #include "shlwapi.h"
    #pragma comment(lib, "shlwapi.lib")DWORD dwValue = 0;SHSetValue(HKEY_CURRENT_USER, 
      TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"), 
      TEXT("HideFileExt"),
      REG_DWORD, 
      &dwValue, 
      sizeof(DWORD));#4楼 忘记转义了