簡體   English   中英

以編程方式獲取MS Office ApplicationID

[英]Get MS Office ApplicationID programmatically

我的Microsoft Office 2013安裝具有我需要以編程方式獲取的ApplicationId值(它是0ff1ce15-a989-479d-af46-f275c6370663 。對於MS Office 2010安裝,它是59a52881-a989-479d-af46-f275c6370663 )所以最終我有2問題:

  1. 這些值對於不同PC上的相同MS Office版本是否相同?
  2. 如何以C ++編程方式獲取2007-2016年的這些值? (通過自動化或其他方式)。

先感謝您。

我在尋找另一個答案,所以我想回信,是的,盡管每個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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM