<%@ PAGE LANGUAGE="C#" %> <%@ Import Namespace="Microsoft.Win32" %> <html> <head> <title>get username</title> <style> table{border-collapse:collapse;} tr{vertical-align:top;} td{border:1px solid #999; font-family:monospace;} </style> <script runat="server"> void Page_Load(object sender, EventArgs e) { String str_table; String str_result = ""; String domain_key = "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters"; String domain_val = "Domain"; String dn_key = "SYSTEM\\CurrentControlSet\\Services\\NTDS\\Parameters"; String dn_val = "Root Domain"; String no_key = "no key"; String no_val = "no val"; str_table = "<tr><td>"+domain_val+"</td><td>"; if( RegistryRead(domain_key,domain_val, ref str_result) ) { str_table += "成功</td><td>"; } else { str_table += "失敗</td><td>"; } str_table += str_result+"</td></tr>"; str_table += "<tr><td>"+dn_val+"</td><td>"; if( RegistryRead(dn_key,dn_val, ref str_result) ) { str_table += "成功</td><td>"; } else { str_table += "失敗</td><td>"; } str_table += str_result+"</td></tr>"; str_table += "<tr><td>"+no_key+"</td><td>"; if( RegistryRead(no_key,no_val, ref str_result) ) { str_table += "成功</td><td>"; } else { str_table += "失敗</td><td>"; } str_table += str_result+"</td></tr>"; str_table += "<tr><td>"+no_val+"</td><td>"; if( RegistryRead(domain_key,no_val, ref str_result) ) { str_table += "成功</td><td>"; } else { str_table += "失敗</td><td>"; } str_table += str_result+"</td></tr>"; lbl_result.Text = "<table>"+str_table+"</table>"; } bool RegistryRead(String Key, String Value, ref String Result) { bool ret = false; String no_value_text = "(no value)"; Result = ""; try { using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(Key)) { Result = (String)(rk.GetValue(Value,no_value_text)); rk.Close(); if(!Result.Equals(no_value_text)) ret = true; } } catch(System.Security.SecurityException se) { Result = se.Message; } catch(NullReferenceException nr) { Result = nr.Message; } return ret; } </script> </head> <body> <form runat="server"> <asp:Label id="lbl_result" Text="" runat="server" /> </form> </body> </html>
作成 2011.02.13
更新 2011.02.13
更新 2011.02.13
ASP.NET でレジストリ参照2
コード
ASP.NET でレジストリ参照 を関数化しました。
実行結果
Domain | 成功 | test.lan |
Root Domain | 失敗 | 要求されたレジストリ アクセスは許可されていません。 |
no key | 失敗 | オブジェクト参照がオブジェクト インスタンスに設定されていません。 |
no val | 失敗 | (no value) |