以下是 PackagePathType 枚举的定义:
typedef enum PACKAGE_PATH_TYPE {
  PACKAGE_PATH_TYPE_INVALID,
  PACKAGE_PATH_TYPE_APPX,
  PACKAGE_PATH_TYPE_BUNDLE,
  PACKAGE_PATH_TYPE_RESOURCES,
  PACKAGE_PATH_TYPE_RESOURCES_LOCALIZED,
  PACKAGE_PATH_TYPE_TEMPORARY,
  PACKAGE_PATH_TYPE_CUSTOM,
  PACKAGE_PATH_TYPE_EMBEDDED,
  PACKAGE_PATH_TYPE_BUNDLE_INTERNET_CACHE,
  PACKAGE_PATH_TYPE_APPLICATION_STATE
} PACKAGE_PATH_TYPE;

枚举值说明:

  •  PACKAGE_PATH_TYPE_INVALID: 无效的路径类型。

  •  PACKAGE_PATH_TYPE_APPX: 应用程序包的主路径。

  •  PACKAGE_PATH_TYPE_BUNDLE: 捆绑包路径。

  •  PACKAGE_PATH_TYPE_RESOURCES: 资源文件夹路径。

  •  PACKAGE_PATH_TYPE_RESOURCES_LOCALIZED: 本地化的资源文件夹路径。

  •  PACKAGE_PATH_TYPE_TEMPORARY: 临时文件夹路径。

  •  PACKAGE_PATH_TYPE_CUSTOM: 自定义路径。

  •  PACKAGE_PATH_TYPE_EMBEDDED: 嵌入的文件路径。

  •  PACKAGE_PATH_TYPE_BUNDLE_INTERNET_CACHE: 捆绑包的 Internet 缓存路径。

  •  PACKAGE_PATH_TYPE_APPLICATION_STATE: 应用程序状态路径。


使用示例:
#include <windows.h>
#include <appmodel.h>

int main() {
    PACKAGE_PATH_TYPE pathType = PACKAGE_PATH_TYPE_INVALID;

    // 获取应用程序包的路径类型
    if (GetPackagePathType(NULL, PACKAGE_INFORMATION_BASIC, &pathType) == ERROR_SUCCESS) {
        switch (pathType) {
            case PACKAGE_PATH_TYPE_APPX:
                wprintf(L"The path is the main path of the app package.\n");
                break;
            case PACKAGE_PATH_TYPE_BUNDLE:
                wprintf(L"The path is for the bundle.\n");
                break;
            case PACKAGE_PATH_TYPE_RESOURCES:
                wprintf(L"The path is for the resources.\n");
                break;
            // ... 其他类型
            default:
                wprintf(L"Unknown path type.\n");
                break;
        }
    }

    return 0;
}

请注意,使用这些枚举时,你需要在代码中包含相应的头文件,并且在编译时链接相应的库。


转载请注明出处:http://www.zyzy.cn/article/detail/23849/Win32 API/Appmodel.h/PackagePathType