[英]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.