[問題] VC# 2010 RegistryKey (更新)
晚安! > " <
我想透過讀取登錄檔的資料, 來得知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)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章