[問題] VC# 2010 RegistryKey (更新)

看板C_Sharp (C#)作者 (caRt)時間13年前 (2012/04/27 00:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
晚安! > " < 我想透過讀取登錄檔的資料, 來得知Office 2010的安裝路徑. 下面是存取的部分: string osppPath = ""; string p1 = @"SOFTWARE\Microsoft\Office\14.0\Common\InstallRoot"; string p2 = @"SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Common\InstallRoot"; RegistryKey rk = Registry.LocalMachine.OpenSubKey(p1); if (rk != null) osppPath = rk.GetValue("Path").ToString(); else { rk = Registry.LocalMachine.OpenSubKey(p2); if (rk != null) osppPath = rk.GetValue("Path").ToString(); } 可是卻發現不管怎麼操作, p1, p2位址總是打不開 ~ _____ ~" rk回傳空值 可是透過regedit去看, 機碼確實存在, 路徑也無誤 所以想請問看看這種情形是哪邊寫法/設定出錯了嗎 o_O? ps, 我的程式執行權限(app.manifest)為 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 求解 > _ < update: 我試過用上一層的路徑下去列舉: string p = @"SOFTWARE\Microsoft\Office\14.0\Common"; RegistryKey rk = Registry.LocalMachine.OpenSubKey(p); string[] t = rk.GetSubKeyNames(); foreach (string t1 in t) MessageBox.Show(t1); 發現他只能搜尋到FilePaths, Filter, LanguageResource, ProductVersion 四個目錄 而實際上該目錄底下遠遠超過有十來項子路徑 請問該怎麼設定RegistryKey的存取權限才能一覽無遺呢? (目前個人想法是存取被限制住了...) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.229.230 ※ 編輯: CarsonT 來自: 140.113.229.230 (04/27 10:46)
文章代碼(AID): #1FcNRMG- (C_Sharp)
文章代碼(AID): #1FcNRMG- (C_Sharp)