iT邦幫忙

0

C#.net 登錄機碼 存取權限問題(已解決)

c#
sion 2019-07-19 15:49:484814 瀏覽

本想用機碼取值,但是無法獲得子節點。
除了外部設定之外,請問有辦法用程式提升執行權限嗎?或是有其他辦法能獲得子機碼?

RegistryKey SOFTWARE = Registry.LocalMachine.OpenSubKey(@"SOFTWARE", false
);
RegistryKey key = SOFTWARE.CreateSubKey(@"AA");
//RegistryKey key = SOFTWARE.OpenSubKey(@"AA",false); //key==null
/*拒絕存取登錄機碼 'HKEY_LOCAL_MACHINE\SOFTWARE\AA'。*/

----------------------------------------更新解法--------------------------------------------
原本手動建在HKEY_LOCAL_MACHINE\SOFTWARE\的節點上,會發現程式讀不到機碼。
於是我先用console創建一個機碼後再讀取就讀得到

RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\mykey");
key.SetValue("aaa", "123456");
Console.WriteLine(key.GetValue("aaa")?.ToString());//123456

但是節點卻是HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node
於是google後得知win64的機碼須放在WOW6432Node節點下才能運行
How to view the system registry by using 64-bit versions of Windows
32-bits、64-bits 作業系統的 Registry 注意事項

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
allenlwh
iT邦高手 1 級 ‧ 2019-07-19 16:57:30

切換使用者身份,登入類別選 9、登入提供者選 0

https://dotblogs.com.tw/supershowwei/2016/01/26/175448

sion iT邦新手 4 級 ‧ 2019-07-22 10:02:03 檢舉

我用的是webform程式
跟同事討論後
IIS給定的身分好像不可能存取local機碼
可能無解了

allenlwh iT邦高手 1 級 ‧ 2019-07-22 10:33:37 檢舉

我上禮拜也是遇到類似的問題 Webform,IIS給定的身份要進行檔案複製。
請參考看看

https://ithelp.ithome.com.tw/questions/10194393

sion iT邦新手 4 級 ‧ 2019-07-22 11:03:10 檢舉

allen大大 我照這個方法更改完權限還是無法

我要發表回答

立即登入回答