我遇到问题,我已编写代码将批处理文件安装到注册表和高级设置下的PATH,因此可以在右键菜单下使用。
直到我点击此右键单击项目才有效。之后它只显示一个毫秒的窗口(我不知道哪一个)并且没有发生。
批处理文件正在运行(我对其进行了测试)。我还检查了注册表项(它是100%正确的,就像我手动执行时一样)。所以剩下的就是高级系统设置下的PATH ......
首先是代码:
Environment.SetEnvironmentVariable(
"PATH",
Environment.GetEnvironmentVariable("PATH") + ";" +
Path.GetPathRoot(Environment.SystemDirectory) + "FastAndDelete\\",
EnvironmentVariableTarget.Machine);**
RegistryKey reg = Registry
.ClassesRoot.OpenSubKey("Directory", true)
.OpenSubKey("shell", true);
reg.CreateSubKey("FastAndDelete");
reg.OpenSubKey("FastAndDelete", true)
.CreateSubKey("command")
.SetValue("", "cmd /c " + '“' + "cd %1 && fastdel.bat" + '”');
reg.Close();
我也试过
Environment.SetEnvironmentVariable(
"PATH",
Environment.GetEnvironmentVariable("PATH") + ";" +
Path.GetPathRoot(Environment.SystemDirectory) +
"FastAndDelete\\;",
EnvironmentVariableTarget.Machine);
和
Environment.SetEnvironmentVariable(
"PATH",
Environment.GetEnvironmentVariable("PATH") + ";" +
Path.GetPathRoot(Environment.SystemDirectory) +
"FastAndDelete\\fastdel.bat",
EnvironmentVariableTarget.Machine);
和
Environment.SetEnvironmentVariable(
"PATH",
Environment.GetEnvironmentVariable("PATH") + ";" +
Path.GetPathRoot(Environment.SystemDirectory) +
"FastAndDelete\\fastdel.bat;",
EnvironmentVariableTarget.Machine);
我也尝试过没有&#34 ;;"在开始时,但没有任何帮助。
有人知道我做错了吗?