问题如下:网上关机、注销、重启代码有两种思路,第一种是:调用cmd命令中的,shutdown -l / -r /-s -t 0;(这个方法有严重缺陷,必须是管理员才能运行,如果是普通用户,则无法执行,所以我不采用这个方法了。)第二种方法:调用ExitWindowsEx 函数 Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long 声明了一下就可以了。
但是对于第二种调用api的方法中,网上好多例子里都OpenProcessToken、LookupPrivilegeValue、
AdjustTokenPrivileges 提权,为什么要提权啊?? 我尝试过了,无论在普通用户权限还是管理员权限下,无需提权就可以成功关机。。直接调用 ExitWindowsEx 函数就可以了啊。难道他们的代码多此一举???
但是对于第二种调用api的方法中,网上好多例子里都OpenProcessToken、LookupPrivilegeValue、
AdjustTokenPrivileges 提权,为什么要提权啊?? 我尝试过了,无论在普通用户权限还是管理员权限下,无需提权就可以成功关机。。直接调用 ExitWindowsEx 函数就可以了啊。难道他们的代码多此一举???
解决方案 »
- 关于filelistbox的小问题
- 急,如何用direct8调用纯DLL资源文件?
- ComBox控件的内容转换?
- datareport打印时如何自动加序号,水晶报表中直接放个number filed就行了。
- 关于MsFlexGrid里的数据导到Excel里的问题!急
- 高手请帮忙:我想使用VB6自动填写word中相应位置的内容,如何操作啊?
- 我想考一个vb方面的认证,我不知道是ATC好还是MCSD好。因为我刚开始学vb .
- 有关用winsock编写服务器\客户机数据库程序
- 密码应该怎样记下来才安全?
- 我在使用VB6编程中发现的一个VB6企业版的bug!!!
- vb 关机问题,高手速度进,谢谢啊
- 送分100分:给个可以用的ACTIVEREPORT
对于桌面用户来说。
有时候ExitWindowsEx都不管用(曾经想在一个asp的页面上调用一个dll来关机,用ExitWindowsEx不行)
敢问楼主是什么操作系统?如果我没记错的话,单独使用 ExitWindowsEx 函数进行关机,只针对于如 Win98/Me/NT4 及以下的操作系统是可以的;
而 Win2K(NT5) 及以上的都需要用“OpenProcessToken、LookupPrivilegeValue、AdjustTokenPrivileges 提权”,否则就关不成!