运行.bat文件,只要用户在
问题描述:
登录我想.bat
文件运行时机器启动后(或可替代每当用户已登录)运行.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);
来打开修改
“我得到一个错误,告诉我,我没有权限更改文件” =>后的实际,准确错误信息。 – tolanj
@tolanj:我不知道错误有多大用处:“Der kan ikke skrivesregistreringsdatabasenøglen。”是给你的。这就是为什么我没有添加它;-) –
什么时候发生错误?它是'.OpenSubKey()','.SetValue()'还是在run.bat文件运行时发生? – Oliver