运行.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

运行该程序的用户具有管理员联系权利和程序以管理员身份运行

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

+1

“我得到一个错误,告诉我,我没有权限更改文件” =>后的实际,准确错误信息。 – tolanj

+0

@tolanj:我不知道错误有多大用处:“Der kan ikke skrivesregistreringsdatabasenøglen。”是给你的。这就是为什么我没有添加它;-) –

+1

什么时候发生错误?它是'.OpenSubKey()','.SetValue()'还是在run.bat文件运行时发生? – Oliver

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

需求是:

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

来打开修改