参考にしたサイト:FreeVBCode code snippet: Set System Information and Environment Variables With VB.Net
試したコード
using System; using System.Management; using System.Diagnostics; namespace WebApplication1 { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Environment"); foreach (ManagementObject obj in searcher.Get()) { Debug.WriteLine(obj["Name"]); Debug.WriteLine(obj["UserName"]); if (obj["Name"].ToString() == "Path" && obj["UserName"].ToString() == "<SYSTEM>") { var path = obj["VariableValue"].ToString(); if (obj["VariableValue"].ToString().Substring(obj["VariableValue"].ToString().Length - 1) == ";") { obj["VariableValue"] = obj["VariableValue"].ToString() + "hoge;"; } else { obj["VariableValue"] = obj["VariableValue"].ToString() + ";hoge;"; } obj.Put(); } } } } }
System.Management 名前空間初めて使った。まあ System.Environment で出来たのでこっちを使うことは無さげですが。。
WMI を使うこと機会があれば、System.Management 名前空間を使うのかな〜