如何在Windows 7启动时使我的程序以不同的权限运行?

时间:2010-05-04 09:43:02

标签: windows delphi windows-7 scheduled-tasks startup

我正在尝试在Windows 7启动时添加我的程序运行,但它不起作用。我的程序有一个嵌入式UAC清单。

我目前的方法是在HKCU添加一个字符串值.. \ Run。

我从http://social.technet.microsoft.com/Forums/en/w7itprosecurity/thread/81c3c1f2-0169-493a-8f87-d300ea708ecf

找到了适用于Vista的手动解决方案
  
      
  1. 单击“开始”,右键单击“计算机”,然后选择“管理”。
  2.   
  3. 点击左侧面板上的“任务计划程序”。
  4.   
  5. 点击右侧面板上的“创建任务”。
  6.   
  7. 键入任务的名称。
  8.   
  9. 选中“以最高权限运行”。
  10.   
  11. 点击“操作”标签。
  12.   
  13. 点击“新建...”。
  14.   
  15. 在“程序/脚本”框中浏览到该程序。单击“确定”。
  16.   
  17. 在桌面上,右键单击,选择“新建”,然后单击“快捷方式”。
  18.   
  19. 在框中键入:schtasks.exe / run / tn TaskName其中TaskName是您在基本选项卡上输入的任务的名称,然后单击下一步。
  20.   
  21. 键入快捷方式的名称,然后单击“完成”。
  22.         

    此外,您需要运行已保存的计划任务快捷方式来运行程序,而不是运行应用程序快捷方式以忽略IAC提示。启动时,系统将通过原始快捷方式运行程序。因此,您需要更改位置以运行已保存的任务。请:

         
        
    1. 打开Regedit。
    2.   
    3. 在Registry中查找启动项的条目。它将存储在以下分支之一中。      
          
      • HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ Run中
      •   
      • HKEY_USERS.DEFAULT \软件\微软\的Windows \ CurrentVersion \ Run中
      •   
      • HKEY_CURRENT_USER \软件\微软\的Windows \ CurrentVersion \ Run中
      •   
    4.   
    5. 双击正确的密钥,将路径更改为您创建的已保存的计划任务。
    6.   

是否有任何免费代码在计划任务中添加具有权限的项目?我还没有找到torry.net中的免费版本。

非常感谢。

4 个答案:

答案 0 :(得分:2)

有一个名为TaskScheduler的COM组件。有些文档位于http://msdn.microsoft.com/en-us/library/aa384006(v=VS.85).aspx。 C#中的示例包含在Windows 7 Training Kit中。

答案 1 :(得分:2)

答案 2 :(得分:1)

为什么不将您的程序添加到任务计划程序?有关选项,请参阅MSDN处的schtasks.exe的命令行选项。您的命令行可能如下所示:

schtasks.exe / Create / RU {username} / RP {password} / SC ONLOGON / TN {task name} / TR {file to run} / RL HIGHEST。

“/ RL HIGHEST”允许任务以管理员级别权限运行。

答案 3 :(得分:0)

您是否在Windows 7启动时询问如何启动(启动)应用程序,或者您是否在Windows 7启动时询问如何更改应用程序权限?