RunAs在注册表RUN中不能用? 这个注册表是不行的,你可以这样试试,在程序中 先判断当前用户是不是 Administrator ,是的话就正常启动,不是的话那就直接关闭。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我必须用Administrator 启动。 我必须用Administrator 启动。 用一个程序放到Run key,然后它启动另一个需要权限的程序 CreateProcessWithLogon() 填入对应的管理员帐号密码 win7/win8做了安全策略,在系统启动时,是不允许有管理员权限的程序启动的,即具有管理员权限的程序是不能自启动的,是系统阻止了 你可以创建一个没有管理员权限的程序Tool.exe,通过这个程序,调用ShellExecuteEX函数,传入RunAS参数,就能将你的目标程序启动起来了,具体做法是:1、对于Win7及以上系统,将这个没有管理员权限的程序Tool.exe,设置为启动项,通过Tool.exe将目标程序启动起来。调用ShellExecuteEX函数,传入RunAS参数,是可以实现非管理员程序将具有管理员权限的程序启动起来的。2、对于XP系统,则直接将目标程序设置为启动项即可,注意不同系统,要区分对待,xp中不能以runas的方式启动,否则会弹出输入管理员密码的提示框。3、没有管理员权限的程序Tool.exe中,启动具有管理员权限的目标程序的代码: SHELLEXECUTEINFO shellInfo; memset( &shellInfo, 0, sizeof(shellInfo) ); shellInfo.cbSize = sizeof(shellInfo); shellInfo.fMask = SEE_MASK_NOCLOSEPROCESS; shellInfo.lpVerb = _T("RunAs"); // win7及以上系统涉及到UAC权限,要以run as方式启动 shellInfo.lpFile = strTargetFilePath; // 目标程序的完整路径 BOOL bRet = ShellExecuteEx( &shellInfo ); 关于Vista/Win7 UAC权限的内容,参考:Vista/Win7 UAC兼容程序开发指南:http://blog.csdn.net/chenlycly/article/details/28959293 如何将字符串的值转化为十进制,并保存到unsigned char d[]中 Win32API是否区分32位版本和64位版本的? 如何还原最大化与最小化按钮 VC 如何处理TIFF文件 请问如何将MSFlexGrid控件设置为对Cell可编辑? 如何查找指定文件夹下的压缩文件? 怎么改变toolbar里按钮的大小?? 一个关于文件映像的问题 各位大哥,如何一次发送多个数据?且能接受到? VC++下怎样选择一个路径,是用OpenDialog对话框吗? IE工具栏默认启动 请各位大大帮个忙
1、对于Win7及以上系统,将这个没有管理员权限的程序Tool.exe,设置为启动项,通过Tool.exe将目标程序启动起来。调用ShellExecuteEX函数,传入RunAS参数,是可以实现非管理员程序将具有管理员权限的程序启动起来的。
2、对于XP系统,则直接将目标程序设置为启动项即可,注意不同系统,要区分对待,xp中不能以runas的方式启动,否则会弹出输入管理员密码的提示框。
3、没有管理员权限的程序Tool.exe中,启动具有管理员权限的目标程序的代码: SHELLEXECUTEINFO shellInfo;
memset( &shellInfo, 0, sizeof(shellInfo) );
shellInfo.cbSize = sizeof(shellInfo);
shellInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
shellInfo.lpVerb = _T("RunAs"); // win7及以上系统涉及到UAC权限,要以run as方式启动
shellInfo.lpFile = strTargetFilePath; // 目标程序的完整路径
BOOL bRet = ShellExecuteEx( &shellInfo );
Vista/Win7 UAC兼容程序开发指南:http://blog.csdn.net/chenlycly/article/details/28959293