[c#] 如何檢測MS-Office的已安裝版本?


3 Answers

HKEY_CLASSES_ROOT \ Word.Application \ CurVer怎麼樣?

Question

有誰知道檢測哪個版本的Office的最佳方法是什麼? 另外,如果安裝了多個版本的Office,我想知道它們是什麼版本。 如果我可以檢測安裝了(/是)的Excel的特定版本,則會獲得獎勵。







為什麼不檢查HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\[office.exe] ,其中[office.exe]代表特定的office product exe-filename,例如winword.exeexcel.exe等。你得到可執行文件的路徑並檢查該文件的版本。

如何檢查文件的版本: 在C ++ / in C#

對這種方法有任何批評嗎?




        public string WinWordVersion
        {
            get
            {
                string _version = string.Empty;
                Word.Application WinWord = new Word.Application();   

                switch (WinWord.Version.ToString())
                {
                    case "7.0":  _version = "95";
                        break;
                    case "8.0": _version = "97";
                        break;
                    case "9.0": _version = "2000";
                        break;
                    case "10.0": _version = "2002";
                        break;
                    case "11.0":  _version = "2003";
                        break;
                    case "12.0": _version = "2007";
                        break;
                    case "14.0": _version = "2010";
                        break;
                    case "15.0":  _version = "2013";
                        break;
                    case "16.0": _version = "2016";
                        break;
                    default:                            
                        break;
                }

                return WinWord.Caption + " " + _version;
            }
        }



Related