当前位置: 首页>>代码示例>>C++>>正文


C++ mozilla::IsWin7OrLater方法代码示例

本文整理汇总了C++中mozilla::IsWin7OrLater方法的典型用法代码示例。如果您正苦于以下问题:C++ mozilla::IsWin7OrLater方法的具体用法?C++ mozilla::IsWin7OrLater怎么用?C++ mozilla::IsWin7OrLater使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在mozilla的用法示例。


在下文中一共展示了mozilla::IsWin7OrLater方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: GetWindowsFolder

/*
 * Check to see if we're on Win7 and up, and if so, returns the default
 * save-to location for the Windows Library passed in through aFolderId.
 * Otherwise falls back on pre-win7 GetWindowsFolder.
 */
static nsresult
GetLibrarySaveToPath(int aFallbackFolderId, REFKNOWNFOLDERID aFolderId,
                     nsIFile** aFile)
{
  // Skip off checking for library support if the os is Vista or lower.
  if (!IsWin7OrLater()) {
    return GetWindowsFolder(aFallbackFolderId, aFile);
  }

  nsRefPtr<IShellLibrary> shellLib;
  nsRefPtr<IShellItem> savePath;
  HRESULT hr =
    SHLoadLibraryFromKnownFolder(aFolderId, STGM_READ,
                                 IID_IShellLibrary, getter_AddRefs(shellLib));

  if (shellLib &&
      SUCCEEDED(shellLib->GetDefaultSaveFolder(DSFT_DETECT, IID_IShellItem,
                                               getter_AddRefs(savePath)))) {
    wchar_t* str = nullptr;
    if (SUCCEEDED(savePath->GetDisplayName(SIGDN_FILESYSPATH, &str))) {
      nsAutoString path;
      path.Assign(str);
      path.Append('\\');
      nsresult rv =
        NS_NewLocalFile(path, false, aFile);
      CoTaskMemFree(str);
      return rv;
    }
  }

  return GetWindowsFolder(aFallbackFolderId, aFile);
}
开发者ID:afabbro,项目名称:gecko-dev,代码行数:37,代码来源:SpecialSystemDirectory.cpp


注:本文中的mozilla::IsWin7OrLater方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。