2000和NT下关机的实现

其他 专栏收录该内容
4 篇文章 0 订阅

刚刚学习VC不久,一次一好友要我为他定做一软件,他是一网管,每天想提前回家,但是机器不能提前停机,要我为他搞一个定时关机得软件,我欣然接受,记得看过一篇文章介绍得,关闭计算机只要用一个API函数就可以了,于是三下搞定。交给好友,第二天好友急忙找来,说我编得不好用,失灵了。我想不可能啊,于是拿过来,仔细检查,不对啊,在我得机器上好用得啊。仔细查查msdn,注意到在参数EWX_SHUTDOWN后面对NT和2000得机器有一点说明,于是仔细查看,噢,原来在nt或者2000中要想关机必须首先取得关机权限。赶紧询问朋友得机器,果然,是2000操作系统。动手重新改造,哇,没想到,对于2000操作系统要取得这个特权,还是比较繁琐,下面给出代码和一些解释,呵呵。可以定义一个自己的子过程。

BOOL MyExitWindowsEx(UINT uFlag)
{
 OSVERSIONINFO osv;  //定义一个操作系统信息的结构体
 osv.dwOSVersionInfoSize=sizeof OSVERSIONINFO;
 GetVersionEx(&osv);   //查询当前操作系统
 if(osv.dwPlatformId==VER_PLATFORM_WIN32_NT)  //判断是否是2000/NT
 {

//下面为向操作系统获取权限操作
  HANDLE hProcess,hToken;
  TOKEN_PRIVILEGES Privileges;
  LUID luid;
  hProcess=GetCurrentProcess();

//下面为打开当前进程对话
  OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES,&hToken);
  Privileges.PrivilegeCount=1;
  LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid);
  Privileges.Privileges[0].Luid=luid;
  Privileges.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
  AdjustTokenPrivileges(hToken,FALSE,&Privileges,NULL,NULL,NULL);
 }
 ExitWindowsEx(uFlag,0);
}

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

LanHelper【局域网助手-远程管理开关机简介: LanHelper中文名为局域网助手,是一款极富个性网络工具,简单易用而功能强大。LanHelper可以运行在Windows 95/98/Me/NT/2000/XP系统中,但是只有在Windows NT/2000/XP运行时才能获得最佳性能使用全部功能。使用LanHelper,网管人员将可以更加方便进行管理,即使只是一般网络用户也能使用上LanHelper各种有用功能。 LanHelper具有强大扫描能力,能扫描到网络上计算机各种非常有用信息,包括了计算机计算机名、工作组名、IP地址、MAC地址、共享文件夹、隐藏共享、共享打印机、共享文件夹是否可写、只读、密码保护等属性、系统(Windows)版本、服务器类型等,而且由于使用了多线程,扫描速度非常之快。扫描引擎更集成了LanHelper独有扫描共享文件夹属性包括是否可写、只读、密码保护等,其中扫描可写共享对于预防协助清除在网络中急速扩散、难于根除蠕虫病毒非常有用。 使用LanHelper,你不需要安装任何客户端就可以实现一些很有用功能,包括远程开机,远程关机,远程重启,发送消息,刷新状态等。远程开机功能可以给已关闭计算机发送唤醒命令从而使远程计算机加电启动。远程关机远程重启功能使系统管理员能够通过网络关闭或者重新启动远程计算机。发送消息功能可以用非常灵活方式给网络上用户、计算机、工作组或者局域网发送消息。刷新状态可用于查看在线计算机,同时检测计算机名或者IP地址是否有改动。 由于使用了XML,LanHelper具有良好向上兼容性。保存扫描结果XML文件可长期使用,在LanHelper后续版本甚至以前版本中都可以直接打开。这些XML文件即使在没有LanHelper情况也可以打开在诸如IE等浏览器中,打开时样式表LHstyle.xsl会将其转换为排序表格,非常方便查看。 编者注:这款软件v1.86版本安装后语言目录虽然有中文语言文件,但界面却是英文,也没有切换中文选项,就算把英文语言文件替换为中文,重启后还是显示英文,非常郁闷!但上一个v1.83版本却没有这个问题,v1.83安装后就可以显示中文,也可以在View菜单语言选项那里切换为中文界面,测试通过!大家可暂时先使用v1.83 官方中文版。
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值