如何让我的程序在 Windows 7 启动时以不同的权限运行?
我试图添加在 Windows 7 启动时运行的程序,但它不起作用。我的程序有一个嵌入式 UAC 清单。
我当前的方法是在 HKCU..\Run 处添加一个字符串值。
- 单击“开始”,右键单击“计算机”并选择“管理”。
- 点击左侧面板上的“任务计划程序”。
- 点击右侧面板上的“创建任务”。
- 输入任务的名称。
- 选中“以最高权限运行”。
- 点击“操作”选项卡。
- 点击“新建...”。
- 浏览到“程序/脚本”框中的程序。单击“确定”。
- 在桌面上单击鼠标右键,选择“新建”,然后单击“快捷方式”。
- 在框中键入:schtasks.exe /run /tn TaskName,其中 TaskName 是您在“基本”选项卡上输入的任务名称,然后单击“下一步”。
- 输入快捷方式的名称,然后单击“完成”。
此外,您需要运行已保存的计划任务快捷方式来运行程序,而不是运行应用程序快捷方式来忽略 IAC 提示。启动时系统将按照原来的快捷方式运行程序。因此,您需要更改运行保存的任务的位置。请:
- 打开注册表。
- 在注册表中找到启动项的条目。它将存储在以下分支之一。
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
- 双击正确的键,更改您创建的已保存计划任务的路径。
是否有任何免费代码可以在计划任务中添加带有权限选项的项目?我在 torry.net 上没有找到免费的。
多谢。
I am trying to add my program run in Windows 7 startup, but it doesn't work. My program has an embedded UAC manifest.
My current way is by adding a string value at HKCU..\Run.
I found a manual solution for Vista from http://social.technet.microsoft.com/Forums/en/w7itprosecurity/thread/81c3c1f2-0169-493a-8f87-d300ea708ecf
- Click Start, right click on Computer and choose “Manage”.
- Click “Task Scheduler” on the left panel.
- Click “Create Task” on the right panel.
- Type a name for the task.
- Check “Run with highest privileges”.
- Click Actions tab.
- Click “New…”.
- Browse to the program in the “Program/script” box. Click OK.
- On desktop, right click, choose New and click “Shortcut”.
- In the box type: schtasks.exe /run /tn TaskName where TaskName is the name of task you put in on the basics tab and click next.
- Type a name for the shortcut and click Finish.
Additionally, you need to run the saved scheduled task shortcut to run the program instead of running the application shortcut to ignore the IAC prompt. When startup the system will run the program via the original shortcut. Therefore you need to change the location to run the saved task. Please:
- Open Regedit.
- Find the entry of the startup item in Registry. It will be stored in one of the following branches.
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
- Double-click on the correct key, change the path to the saved scheduled task you created.
Is there any free code to add item with privileges option in scheduled task? I haven't found the free one in torry.net.
Thanks a lot.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
有一个名为 TaskScheduler 的 COM 组件。一些文档位于 http://msdn.microsoft .com/en-us/library/aa384006(v=VS.85).aspx。 Windows 7 培训工具包中包含 C# 示例。
There is a COM component called TaskScheduler. Some documentation is at http://msdn.microsoft.com/en-us/library/aa384006(v=VS.85).aspx. An example in C# is included in the Windows 7 Training Kit.
JCL提供了一个Delphi接口单元来控制Microsoft任务调度服务。它的名称是 JclTask.pas。他们还提供了一个演示应用程序,用于在“jcl\examples\windows\tasks”文件夹中添加/删除/显示 Windows 任务。
另外,如果您可以接受商业组件,SiComponents 还提供 VCL Scheduling Agent,它是一个 VCL Windows 任务计划程序的包装器,并支持 Windows Vista 中提供的新界面。
JCL provides a Delphi interface unit to control Microsoft task schedule service. Its name is JclTask.pas. They also provide a demo application for adding/removing/showing Windows tasks in "jcl\examples\windows\tasks" folder.
Also, if commercial components are OK with you, SiComponents provides VCL Scheduling Agent, which is a VCL wrapper for Windows Task Scheduler, and supports new interface provided in Windows Vista.
为什么不直接将您的程序添加到任务计划程序中呢?有关选项,请参阅 MSDN 上的 schtasks.exe 命令行选项。您的命令行可能如下所示:
schtasks.exe /Create /RU {用户名} /RP {密码} /SC ONLOGON /TN {任务名称} /TR {要运行的文件} /RL HIGHEST。
“/RL HIGHEST”允许任务以管理员级别权限运行。
Why not just add your program to the Task Scheduler? See the command line options for schtasks.exe at MSDN for options. Your command line might look something like this:
schtasks.exe /Create /RU {username} /RP {password} /SC ONLOGON /TN {task name} /TR {file to run} /RL HIGHEST.
The "/RL HIGHEST" is what lets the task run with the admin level privileges.
您是在询问如何让您的应用程序在 Windows 7 启动时启动(启动),还是在询问如何在 Windows 7 启动时更改您的应用程序权限?
Are you asking how to get your app to start(launch) at Windows 7 startup or are you asking how to change your apps privileges at Windows 7 startup?