请教:怎么使用vc修改注册表来显示windows下的隐藏文件!

解决方案 »

  1.   

    void SetShowHidden(BOOL bShow)
    {
    HKEY hKey;
    int iHidden = bShow ? 1:0;
    if( RegOpenKeyEx( HKEY_CURRENT_USER,
      TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"),
      0,
      KEY_WRITE,
      &hKey ) == ERROR_SUCCESS )
    {
    if(RegSetValueEx ( hKey,
    TEXT("Hidden"),
    0,
    REG_DWORD,
    (LPBYTE)&iHidden,
    sizeof( DWORD ) ) != ERROR_SUCCESS)
    MessageBox(TEXT("操作失败!"),TEXT("错误"),MB_ICONINFORMATION);
    }
    else
    MessageBox(TEXT("操作失败!"),TEXT("错误"),MB_ICONINFORMATION);
    RegCloseKey(hKey);
    }
      

  2.   

    void SetShowSuperHidden(BOOL bShow)
    {
    HKEY hKey;
    int iHidden = bShow ? 1:0;
    if( RegOpenKeyEx( HKEY_CURRENT_USER,
      TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"),
      0,
      KEY_WRITE,
      &hKey ) == ERROR_SUCCESS )
    {
    if(RegSetValueEx( hKey,
      TEXT("ShowSuperHidden"),
      0,
      REG_DWORD,
      (LPBYTE)&iHidden,
      sizeof( DWORD ) ) != ERROR_SUCCESS)
    MessageBox(TEXT("操作失败!"),TEXT("错误"),MB_ICONINFORMATION);
    }
    else
    MessageBox(TEXT("操作失败!"),TEXT("错误"),MB_ICONINFORMATION);
    RegCloseKey(hKey);
    }void SetShowAll(BOOL bShow)
    {
    if(bShow)
    {
    HKEY hKey;
    int iHidden = bShow ? 1:0;
    if( RegOpenKeyEx( HKEY_LOCAL_MACHINE,
      TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Folder\\Hidden\\SHOWALL"),
      0,
      KEY_WRITE,
      &hKey ) == ERROR_SUCCESS )
    {
    if(RegSetValueEx ( hKey,
       TEXT("CheckedValue"),
       0,
       REG_DWORD,
       (LPBYTE)&iHidden,
       sizeof( DWORD ) ) != ERROR_SUCCESS)
    MessageBox(TEXT("操作失败!"),TEXT("错误"),MB_ICONINFORMATION);
    }
    else
    MessageBox(TEXT("操作失败!"),TEXT("错误"),MB_ICONINFORMATION);
    RegCloseKey(hKey);
    }
    else
    return;
    }
      

  3.   

    void SetShowHiddenFiles(BOOL bShow)
    {
    SetShowHidden(bShow);
    SetShowSuperHidden(bShow);
    SetShowAll(bShow);
    }
    需要改三处注册表才能完全按显示隐藏文件。