CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

系统权限

楼主leepiaoping(回首乱山横)2001-12-02 16:35:06 在 VC/MFC / 基础类 提问

在win2000,VC6里面如何得到系统的各种权限,比如SE_SHUTDOWN_NAME等等,谢谢 问题点数:30、回复次数:4Top

1 楼kulala(边走边看)回复于 2001-12-02 17:09:21 得分 0

每个用户都拥有SE_SHUTDOWN_NAME权限的,只是处于disable状态;  
  http://www.chinawolf.com/~lu0/有一个斑竹写的例子程序《超越ADMIN》  
  Top

2 楼leepiaoping(回首乱山横)回复于 2001-12-02 17:16:15 得分 0

那该如何Enable   这些处于disable的系统权限呢  
  上面这个连接打不开:(Top

3 楼kulala(边走边看)回复于 2001-12-02 17:29:50 得分 30

在MSDN中用Privileges做索引你可以找到很多需要的东西。  
  这是MSDN上的一个例子:  
  The   following   example   shows   how   to   enable   or   disable   a   privilege   in   an   access   token.   The   example   calls   the   LookupPrivilegeValue   function   to   get   the   LUID   that   the   local   system   uses   to   identify   the   privilege.   Then   the   example   calls   the   AdjustTokenPrivileges   function,   which   either   enables   or   disables   the   privilege   that   depends   on   the   value   of   the   bEnablePrivilege   parameter.    
   
  BOOL   SetPrivilege(  
          HANDLE   hToken,                     //   access   token   handle  
          LPCTSTR   lpszPrivilege,     //   name   of   privilege   to   enable/disable  
          BOOL   bEnablePrivilege       //   to   enable   or   disable   privilege  
          )    
  {  
  TOKEN_PRIVILEGES   tp;  
  LUID   luid;  
   
  if   (   !LookupPrivilegeValue(    
                  NULL,                         //   lookup   privilege   on   local   system  
                  lpszPrivilege,       //   privilege   to   lookup    
                  &luid   )   )   {             //   receives   LUID   of   privilege  
          printf("LookupPrivilegeValue   error:   %u\n",   GetLastError()   );    
          return   FALSE;    
  }  
   
  tp.PrivilegeCount   =   1;  
  tp.Privileges[0].Luid   =   luid;  
  if   (bEnablePrivilege)  
          tp.Privileges[0].Attributes   =   SE_PRIVILEGE_ENABLED;  
  else  
          tp.Privileges[0].Attributes   =   0;  
   
  //   Enable   the   privilege   or   disable   all   privileges.  
   
  AdjustTokenPrivileges(  
                hToken,    
                FALSE,    
                &tp,    
                sizeof(TOKEN_PRIVILEGES),    
                (PTOKEN_PRIVILEGES)   NULL,    
                (PDWORD)   NULL);    
     
  //   Call   GetLastError   to   determine   whether   the   function   succeeded.  
   
  if   (GetLastError()   !=   ERROR_SUCCESS)   {    
              printf("AdjustTokenPrivileges   failed:   %u\n",   GetLastError()   );    
              return   FALSE;    
  }    
   
  return   TRUE;  
  }  
  Top

4 楼leepiaoping(回首乱山横)回复于 2001-12-02 18:02:10 得分 0

Thank   you!Top

相关问题

  • 请教系统权限的问题?
  • 请教系统权限解决方案
  • 新闻系统权限设计问题
  • web broker+internetExpress做的系统中怎么样设置权限呢?
  • 写系统日志出错,权限不够??
  • 数据库应用系统用户权限管理与实现
  • help,系统默认用户scott权限不足?
  • 在表单中创建对象是系统没有权限
  • 我的系统是2000的,如何设定D盘的权限
  • 求助:做个用户带权限的asp系统

关键词

  • 系统
  • 权限
  • privileges
  • luid
  • lookupprivilegevalue
  • disable
  • enable
  • tp
  • token
  • example

得分解答快速导航

  • 帖主:leepiaoping
  • kulala

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo