typedef struct _PACKAGE_INFO {
UINT32 reserved;
UINT32 flags;
const WCHAR *path;
const WCHAR *familyName;
const WCHAR *packageFullName;
const WCHAR *packageRelativeId;
const WCHAR *packageId;
const WCHAR *packageMoniker;
const WCHAR *packagePublisherId;
const WCHAR *packagePublisherDisplayName;
const WCHAR *resources;
const WCHAR *custom;
const WCHAR *pathByReference;
PACKAGE_VOLUME packageVolume;
const WCHAR *packageFamilyName;
PACKAGE_ID packageIdAsPackageId;
PACKAGE_VERSION packageVersion;
} PACKAGE_INFO;
成员说明:
- reserved: 保留字段,必须设置为 0。
- flags: 一组标志,用于表示包的属性。
- path: 包的安装路径。
- familyName: 包家族的名称。
- packageFullName: 包的完整名称。
- packageRelativeId: 包的相对标识符。
- packageId: 包的标识符。
- packageMoniker: 包的标记。
- packagePublisherId: 包的发布者标识符。
- packagePublisherDisplayName: 包的发布者显示名称。
- resources: 包的资源。
- custom: 自定义信息。
- pathByReference: 引用路径。
- packageVolume: 包的卷信息。
- packageFamilyName: 包家族的名称。
- packageIdAsPackageId: 包的标识符。
- packageVersion: 包的版本信息。
使用示例:
#include <windows.h>
#include <appmodel.h>
int main() {
PACKAGE_INFO packageInfo = {0};
// 填充 PACKAGE_INFO 结构的相关字段
// 例如,可以使用 OpenPackageInfoByFullName 函数获取包信息,然后将其填充到 packageInfo 中
// 输出包的信息
wprintf(L"Package Full Name: %s\n", packageInfo.packageFullName);
wprintf(L"Package Family Name: %s\n", packageInfo.packageFamilyName);
wprintf(L"Package Version: %d.%d.%d.%d\n",
packageInfo.packageVersion.Major,
packageInfo.packageVersion.Minor,
packageInfo.packageVersion.Build,
packageInfo.packageVersion.Revision);
// 其他信息也可以通过相应的成员获取
return 0;
}
请注意,这个示例中的 PACKAGE_INFO 结构中的字段值需要通过调用其他 API 函数(如 OpenPackageInfoByFullName)来填充。这个结构提供了关于应用程序包的各种信息。
转载请注明出处:http://www.zyzy.cn/article/detail/23846/Win32 API/Appmodel.h/PACKAGE_INFO