Chinaunix首页 | 论坛 | 博客
  • 博客访问: 590020
  • 博文数量: 98
  • 博客积分: 4045
  • 博客等级: 上校
  • 技术积分: 1157
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-31 16:56
文章分类

全部博文(98)

文章存档

2010年(7)

2009年(15)

2007年(73)

2006年(3)

我的朋友

分类: WINDOWS

2009-09-09 18:06:56

 
VC编译出来的应用程序在vista下运行,有可能因为权限问题,不能成功运行。

本文介绍2种提升程序权限的方式,程序运行时系统就会跳出UAC对话框,获得管理权限。
 
方法1:给应用程序添加一个manifest文件
1.打开应用程序的源代码工程

2.添加一个“custom”资源,"resource type"填24,把资源ID改为1,然后把以下内容复制到资源内容中保存



  version="1.0.0.0"
  processorArchitecture="X86"
  name="mulitray.exe.manifest"
  type="win32"
/>

 
   
       
   

 




3.重新编译应用程序,此时会发现,广用程序的图标在vista下会多出一个小盾标志。
 
方法2:在注册表中把程序执行权限提升为管理员权限
 
例如:
 
RegDBSetDefaultRoot(HKEY_CURRENT_USER);  

RegDBCreateKeyEx("Software\\Microsoft\\Windows 
RegDBCreateKeyEx("Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers", "");   

RegDBSetKeyValueEx(Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers, "Test.exe", REGDB_STRING, "RUNASADMIN",-1); 
 
阅读(1047) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~