运行 用户登录时的 .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);
打开修改
我想要一个 .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);
打开修改