运行 用户登录时的 .bat 文件

Running .bat file whenever a user is logged in

我想要一个 .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 til registreringsdatabasenøglen.

这会翻译成类似

Couldn't write to the database registration key

使用该程序的用户 运行 具有管理员权限,该程序 运行 作为管理员

我将如何更改权限以允许脚本在机器启动时 运行 或者是否有更好的方法来实现我正在寻找的功能?

                key = RegistryKey.OpenBaseKey(
                RegistryHive.LocalMachine, 
                RegistryView.Registry64
            ).OpenSubKey(subKey);

需要:

                key = RegistryKey.OpenBaseKey(
                RegistryHive.LocalMachine, 
                RegistryView.Registry64
            ).OpenSubKey(subKey, true);

打开修改