win7中如何获取管理员权限

win7中如何获取管理员权限
用MFC写了一个ocx控件给js调用,在XP下都没有问题,但是在win7下就有权限的问题了。
我打开IE浏览器如果不是以管理员权限运行的话,则打开页面调用OCX创建一个文件或文件夹的时候会返回错误信息5(拒绝访问),但是用管理员权限运行的时候则没有问题。

当然我们不可能要求用户还要右键选择“以管理员权限运行”来打开IE,也不可能让用户要去设置UAC级别来运行,所以想请教下有谁知道该怎么弄。

网上找了一下资料说是有5种方法,但是我试了下不知道是不是因为设置错误还是咋回事都没能成功。方法如下:
1.在HKCU \Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers注册表分支下添加键值:
名字是程序的全路径,值数据是“RunAsInvoker”
备注:
  首先,我的注册表相应目录下没有Layers选项,所以我自行添加了一个;
  其次,我是在Layers种新建了一个字符串项,名字:C:\Program Files\Internet Explorer\iexplore.exe  
  值:RunAsInvoker
  最后运行后发现无效,是否设置有啥问题?

2.在程序的manifest文件或者内嵌的manifest信息里加入“level=highestAvaible”或者“level requireAdministrator”安全级别。
备注:
  我使用的vs2005,奇怪找资料上说如果是vs2005或vs2008在“属性--连接器--清单文件”里面可以直接设置最高级别的权
  限,可是我发现我清单文件里面只有“生成清单、清单文件、附加清单依赖项、允许隔离”这4项,不知道改怎么把UAC权
  限写到manifest文件中,当然不能是编译完才去修改manifest文件,否则我下次在编译的时候改文件又会被还原了。

有谁知道该怎么弄,并且试验过能成功的,能否分享下,最好最好是不要弹出让用户选择是否提升权限级别提示,不太友好。一大部分用户会担心病毒木马等等问题。。。
 

------解决方案--------------------
这种情况应该有另一个进程,由浏览器OCX等通知它来创建文件,文件夹 
------解决方案--------------------
执行的时候IE会弹提示的,用户选择了允许就可以了。

另外:你说那个管理员权限 2005我不知道,2008是有的,选上requireAdministrator就会在每次执行之前都弹出一个需要管理员权限才能运行的对话框。 
------解决方案--------------------
探讨
引用:

这种情况应该有另一个进程,由浏览器OCX等通知它来创建文件,文件夹

而且这样稍微有点麻烦,因为按照这样的方法的话所有的文件操作都要这么干了,修改量比较大。
不知道是否可以直接通过修改进程token开获取管理员权限。

------解决方案--------------------
这个问题我也在关注,在win7没有权限注册,几乎已经放弃。。打个标签 
------解决方案--------------------
探讨
引用:

引用:
引用:

这种情况应该有另一个进程,由浏览器OCX等通知它来创建文件,文件夹

而且这样稍微有点麻烦,因为按照这样的方法的话所有的文件操作都要这么干了,修改量比较大。
不知道是否可以直接通过修改进程token开获取管理员权限。

要么就是UAC,要么就是做一个Service等有权限的进程。不然Win7的安全性就漏……

------解决方案--------------------
创建一个文件或文件夹的时候会返回错误信息5
(1)你是将文件和文件夹创建在系统目录下么?你可以换个目录,如《我的文档》里面创建,你去提升权限,还不如换个文件夹来的方面(个人意见)。
(2)权限是和进程相关的,你的OCX依赖于IE进程,你是要给IE提权
(3)改进程token开获取管理员权限的进程也需要相关权限的,你的OCX貌似应该修改不了。
(4)用服务应该不错,但是需要考虑进程间的通信问题,上次我也遇到了这样的问题,不过直接创建了个驱动,让它负责创建文件(我的程序本来就需要驱动,所有加个驱动功能无所谓)。 
------解决方案--------------------
就下载2次,这里以前也考虑过用公共帐户,但是不是所有帐户都有权限写这个All Users的,所以最后还是根据用户写在不同的位置,一般机器上不会有太多用户的,而且又是后台操作,影响不大。网站方面的知识我就不是很懂了,我不是做网站的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值