[英]Get MS Office ApplicationID programmatically
我的Microsoft Office 2013安装具有我需要以编程方式获取的ApplicationId值(它是0ff1ce15-a989-479d-af46-f275c6370663
。对于MS Office 2010安装,它是59a52881-a989-479d-af46-f275c6370663
)所以最终我有2问题:
先感谢您。
我在寻找另一个答案,所以我想回信,是的,尽管每个Office版本都具有自己唯一的ID,但它们在不同的计算机上是相同的。
我正在使用c#,并使用WMI查询在类SoftwareLicensingProduct中查找详细信息,尽管在下面的OfficeSoftwareProtectionProduct中也可以找到它,这是我的查询
"SELECT ID, ApplicationId, PartialProductKey, Name, ProductKeyID FROM SoftwareLicensingProduct WHERE ApplicationId = '" + sApplicationId+"' AND PartialProductKey <> NULL"
我有运行的代码,在此之前可以标识工作站上的Office版本,并且该查询的结果将设置相关的ApplicationID
if (sVersion == "2013")
{
sApplicationId = "Office 15 Application ID";
}
else if (sVersion == "2016")
{
sApplicationId = "Office 16 Application ID";
}
要获取包装盒上的Office版本,您可以解析注册表,或者不确定是否可以在c ++中执行此操作,因此我将Word启动为隐藏状态并检索应用程序版本,然后使用Case语句
switch (appVersion.Version.ToString())
{
case "15.0":
sVersion = "2013";
break;
case "16.0":
sVersion = "2016";
break;
case "14.0":
sVersion = "2010";
break;
default:
sVersion = "No Version detected!";
break;
}
我知道我可能可以进一步自动化它,并从WMI查询中提取ApplicationID,但目前还没有解决。
不确定是否有帮助?
巴里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.