我想在机器启动时运行.bat
文件(或者每当用户登录时运行)
为此,我制作了这段代码:
string subKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
RegistryKey key;
if (ClientSystem.Is64BitOperatingSystem)
{
key = RegistryKey.OpenBaseKey(
RegistryHive.LocalMachine,
RegistryView.Registry64
).OpenSubKey(subKey);
}
else
{
key = Registry.LocalMachine.OpenSubKey(subKey, true);
}
key.SetValue("websocket", @"c:\websocket\run.bat"); // error here
运行时我收到错误,告诉我我没有权限更改文件。
正如@Tolanj所提到的那样,添加实际的错误消息可能是一个想法:
Der kan ikke skrives tilregistreringsdatabasenøglen。
哪个会转换为
无法写入数据库注册密钥
运行程序的用户具有管理员权限,程序以管理员身份运行
如何更改权限以便允许在机器启动时运行脚本,或者是否有更好的方法来实现我正在寻找的功能?
答案 0 :(得分:2)
key = RegistryKey.OpenBaseKey(
RegistryHive.LocalMachine,
RegistryView.Registry64
).OpenSubKey(subKey);
需要:
key = RegistryKey.OpenBaseKey(
RegistryHive.LocalMachine,
RegistryView.Registry64
).OpenSubKey(subKey, true);
打开以进行修改