参考にしたサイト: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 名前空間を使うのかな〜