感想关注 ,转载引用请注明 http://blog.youkuaiyun.com/leonwei/article/details/8905703
最近一直在搞页游版的端游移植,里面用到了很多进程启动进程的情况,这种情况在XP以前的系统上是很常见的编程形式,也从来不会出现问题,但是搬到Win7系统上就不行,在很多用户的Win7系统中,进程A去启动进程B(如果直接使用CreateProcess)会创建失败,后来发现这是因为受到了UAC的控制,将解决这类问题的经验总结于此。
1.什么是UAC
UAC全称User Access Control,是Win Vista系统开始引入的一种安全机制,它在操作系统中定义了多种用户访问的安全级别(可在用户账户中修改,默认为中),
不同的安全级别对于程序的行为是有不同限定的:
从不通知:这个跟XP一样,没有限定任何程序行为,是最低的
仅当程序尝试更改计算机时通知:当你的程序会触发对计算机的修改,更简单的说就是你发生了写磁盘操作,就会弹出通知询问用户(这是默认的)
始终通知:无论是自己还是程序修改计算机都会触发询问
例如当我们在win7下打开某个程序时可能触发这样的画面
这个小盾牌我们经常看见,这就是触发了UAC的询问了
2.UAC会给编

本文介绍了Windows Vista及更高版本中的User Access Control(UAC)及其对编程的影响,特别是在进程启动和磁盘写入方面的限制。通过在程序的清单文件中设置`requireAdministrator`权限来实现程序的提升,或者使用`ShellExecuteEx`函数来启动需要高权限的进程,从而解决UAC导致的编程问题。
最低0.47元/天 解锁文章
733

被折叠的 条评论
为什么被折叠?



