|
|
导航: |
论坛 -> 文档资料
斑竹:liumazi,ruralboy |
|
作者: |
haiq (海强) |
★☆☆☆☆ |
-
|
普通会员 |
|
2016/4/21 13:30:59 |
标题: |
Win10 开机启动程序的权限问题...... |
浏览:2712 |
|
加入我的收藏 |
楼主: |
在 Windows 10 中,通过注册表(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)指定的开机启动程序不能具有管理员权限,否则将被忽略,不会运行。也就是你不能在 Project -> Options -> Application 中通过选中 Enabled Administrator Privileges 来使编译生成的程序运行时具有管理员权限。 遇到这种情况如何处理呢?
----------------------------------------------
- 我不用,是因为不知有何用。 |
作者: |
|
2016/4/21 15:40:20 |
1楼: |
有2种办法: 1. 写一个COM组件,把相应的功能封装在里面。等需要用到admin功能权限的时候,提示用户,需要提升权限。提升之后,COM的功能全部提供给主程序使用,就没有问题了。而此时主程序还是普通权限,所以自启动没有问题。我有提升COM权限的相关代码,你需要的话可以给你。但你得自己写COM。 2. 把软件的主函数写成两种分叉。就是用来自己调用自己。一旦满足某种功能,第二个实例就立刻退出。
----------------------------------------------
只有偏执狂才能生存!
|
作者: |
|
2016/4/21 17:06:35 |
2楼: |
还有个方法 告诉用户 必须以 Administrato账户启动windows 方可使用 哈哈哈
----------------------------------------------
哦哟喂,看过来: http://zelig.cn
|
作者: |
|
2016/4/21 18:43:49 |
3楼: |
感觉win 8 和10后,再修改系统的一下设置就比较难了。
比如程序里放个 webBrwoser控件,想把 程序设置为 Windows系统默认浏览器,光修改注册表 好像不行了。
----------------------------------------------
我打的是酱油,而不是别的什么油。 我灌的是口水,而不是别的什么水。 我聊的折腾不是那个不折腾的折腾。 我说的阿娇不是那个邓玉娇的阿娇。 3个代表,6个为什么,9个肠胃炎。 D性强的领导干部都不喜欢热比娅。 我特别要讲的是,屁民网黄色论坛是我经常上网必选的 网站之一
|
作者: |
|
2016/4/22 12:43:24 |
4楼: |
提升程序权限即可
----------------------------------------------
-
|
作者: |
|
2016/4/24 8:10:28 |
5楼: |
楼上搞个例子,我说的那个功能。我可以付款100。
----------------------------------------------
我打的是酱油,而不是别的什么油。 我灌的是口水,而不是别的什么水。 我聊的折腾不是那个不折腾的折腾。 我说的阿娇不是那个邓玉娇的阿娇。 3个代表,6个为什么,9个肠胃炎。 D性强的领导干部都不喜欢热比娅。 我特别要讲的是,屁民网黄色论坛是我经常上网必选的 网站之一
|
作者: |
yuto (yuto) |
▲▲▲▲▲ |
-
|
普通会员 |
|
2016/4/24 12:07:44 |
6楼: |
procedure TForm1.BitBtn1Click(Sender: TObject); var Reg:TRegistry; begin Reg:=TRegistry.Create; try Reg.Access:=KEY_WOW64_64KEY or KEY_WRITE; Reg.RootKey:=HKEY_LOCAL_MACHINE; Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True); begin Reg.WriteString('StartRun','"C:\Program Files\StartRun\StartRun.exe" --startup'); //添加键值,加入开机启动项 Reg.CloseKey; end; finally Reg.Free; end; end;
procedure TForm1.BitBtn2Click(Sender: TObject); var Reg:TRegistry; begin Reg:=TRegistry.Create; try Reg.Access:=KEY_WOW64_64KEY or KEY_WRITE; Reg.RootKey:=HKEY_LOCAL_MACHINE; Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True); begin Reg.DeleteValue('StartRun'); //删除键值,取消开机自启动 Reg.CloseKey; end; finally Reg.Free; end; end;
此帖子包含附件:
大小:269.3K |
----------------------------------------------
-
|
作者: |
|
2017/3/31 13:07:25 |
7楼: |
不知道楼主解决了问题没有?
----------------------------------------------
-
|
作者: |
|
2017/3/31 13:45:01 |
8楼: |
要用计划任务. 计划任务有超级高权限.
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
|
|