如何在计算机被锁定的情况下让计算机重起?急啊!

usstdiy 2003-08-26 09:54:03
Private Const EWX_LogOff As Long = 0
Private Const EWX_SHUTDOWN As Long = 1
Private Const EWX_REBOOT As Long = 2
Private Const EWX_FORCE As Long = 4
Private Const EWX_POWEROFF As Long = 8
Private wk_Restart As String


'The ExitWindowsEx function either logs off, shuts down, or shuts
'down and restarts the system.
Private Declare Function ExitWindowsEx Lib "user32" _
(ByVal dwOptions As Long, ByVal dwReserved As Long) As Long

'The GetLastError function returns the calling thread's last-error
'code value. The last-error code is maintained on a per-thread basis.
'Multiple threads do not overwrite each other's last-error code.
Private Declare Function GetLastError Lib "kernel32" () As Long

Private Const mlngWindows95 = 0
Private Const mlngWindowsNT = 1

Public glngWhichWindows32 As Long

'The GetVersion function returns the operating system in use.
Private Declare Function GetVersion Lib "kernel32" () As Long

Private Type LUID
UsedPart As Long
IgnoredForNowHigh32BitPart As Long
End Type

Private Type LUID_AND_ATTRIBUTES
TheLuid As LUID
Attributes As Long
End Type

Private Type TOKEN_PRIVILEGES
PrivilegeCount As Long
TheLuid As LUID
Attributes As Long
End Type

'The GetCurrentProcess function returns a pseudohandle for the
'current process.
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long

'The OpenProcessToken function opens the access token associated with
'a process.
Private Declare Function OpenProcessToken Lib "advapi32" _
(ByVal ProcessHandle As Long, _
ByVal DesiredAccess As Long, _
TokenHandle As Long) As Long

'The LookupPrivilegeValue function retrieves the locally unique
'identifier (LUID) used on a specified system to locally represent
'the specified privilege name.
Private Declare Function LookupPrivilegeValue Lib "advapi32" _
Alias "LookupPrivilegeValueA" _
(ByVal lpSystemName As String, _
ByVal lpName As String, _
lpLuid As LUID) As Long

'The AdjustTokenPrivileges function enables or disables privileges
'in the specified access token. Enabling or disabling privileges
'in an access token requires TOKEN_ADJUST_PRIVILEGES access.
Private Declare Function AdjustTokenPrivileges Lib "advapi32" _
(ByVal TokenHandle As Long, _
ByVal DisableAllPrivileges As Long, _
NewState As TOKEN_PRIVILEGES, _
ByVal BufferLength As Long, _
PreviousState As TOKEN_PRIVILEGES, _
ReturnLength As Long) As Long

Private Declare Sub SetLastError Lib "kernel32" _
(ByVal dwErrCode As Long)
----------------------------------------------------------------
Private Sub AdjustToken()

'********************************************************************
'* This procedure sets the proper privileges to allow a log off or a
'* shut down to occur under Windows NT.
'********************************************************************

Const TOKEN_ADJUST_PRIVILEGES = &H20
Const TOKEN_QUERY = &H8
Const SE_PRIVILEGE_ENABLED = &H2

Dim hdlProcessHandle As Long
Dim hdlTokenHandle As Long
Dim tmpLuid As LUID
Dim tkp As TOKEN_PRIVILEGES
Dim tkpNewButIgnored As TOKEN_PRIVILEGES
Dim lBufferNeeded As Long

'Set the error code of the last thread to zero using the
'SetLast Error function. Do this so that the GetLastError
'function does not return a value other than zero for no
'apparent reason.
SetLastError 0

'Use the GetCurrentProcess function to set the hdlProcessHandle
'variable.
hdlProcessHandle = GetCurrentProcess()

If GetLastError <> 0 Then
MsgBox "GetCurrentProcess error==" & GetLastError
End If

OpenProcessToken hdlProcessHandle, _
(TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY), hdlTokenHandle

If GetLastError <> 0 Then
MsgBox "OpenProcessToken error==" & GetLastError
End If

'Get the LUID for shutdown privilege
LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid

If GetLastError <> 0 Then
MsgBox "LookupPrivilegeValue error==" & GetLastError
End If

tkp.PrivilegeCount = 1 ' One privilege to set
tkp.TheLuid = tmpLuid
tkp.Attributes = SE_PRIVILEGE_ENABLED

'Enable the shutdown privilege in the access token of this process
AdjustTokenPrivileges hdlTokenHandle, _
False, _
tkp, _
Len(tkpNewButIgnored), _
tkpNewButIgnored, _
lBufferNeeded

If GetLastError <> 0 Then
MsgBox "AdjustTokenPrivileges error==" & GetLastError
End If

End Sub
--------------------------------------------------------------
Function RestartComputer(ByVal UserName As String, ByVal Pwd As String) As Boolean
If UserName <> "a" Or Pwd <> "b" Then
RestartComputer = False
Exit Function
Else
On Error GoTo Errorhandler
If glngWhichWindows32 = mlngWindowsNT Then
AdjustToken
End If
ExitWindowsEx EWX_REBOOT, EWX_FORCE
RestartComputer = True
End If
Exit Function

Errorhandler:
RestartComputer = False
MsgBox "ExitWindowsEx's GetLastError " & GetLastError
End Function

我把它注册为dll,或者在com+组建中加入,在服务器已经登陆的时候,通过asp调用,服务器成功启动,但是当服务器被锁定的时候仍返回成功,但是却不重起,操作系统是win2000server.请了解的大虾解答一下,应该怎么改?
...全文
47 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
usstdiy 2003-08-26
  • 打赏
  • 举报
回复
help!
usstdiy 2003-08-26
  • 打赏
  • 举报
回复
目的就是为了用asp远程启动服务器
usstdiy 2003-08-26
  • 打赏
  • 举报
回复
我觉得好像也是,可能要在注册表里面加一个Runas的冬冬,不太了解,请指点
jlum99 2003-08-26
  • 打赏
  • 举报
回复
估计是权限不够,这个程序如果是本地用户应该没问提。
真正的U盘加密+文档同步+计算机锁定=无敌U盘伴侣 这是一款完全免费的软件,程序体积小巧,不到100KB,可以在U盘或电脑上运行。界面也绝对够“魅惑”,她还是一款绿色软件,就可以完全解决掉你上面将面临的问题!! --------------------------------------------------------- 应用举例: A、随着U盘/存储卡容量呈几何级增长,越来越多的朋友把自已的资料和秘密保存在U盘当中。 但是U盘的不安全因素使我们一直在担心害怕数据的遗失,如何保证自已U盘中的文件安全已成为一个迫在眉捷的问题! 虽然现在市场上有一些U盘加密软件,但那只是简单的隐藏,文件数据的安全得不到保障;或者有专门的软件,但又只能针对某一个U盘品牌,局限性非常大。 B、有朋友向你借用U盘/SD卡,或不慎丢失,你得睡不着? 你还将面临:1、企业机密泄露,自己饭碗难保;2、 苦心经营多年的客户资料被黑心同事全部盗走;3、 自己、朋友和家人的照片被发布上网,惨遭恶 搞,还引发“人肉搜索”…… C、现在许多朋友把家当成公司,公司忙不完的活要带到家里继续做,每天要把“我的文档”的几百上千个文件一次次的复制到U盘中,许多文件是U盘内已经有的了,如何解决这个问题,当然是把文件同步到U盘中啦,排除相同点,每天只要一点点^_^,很快很方便! 同时也是个人备份经常更新的文档、相片的好帮手。 D、在办公室上网正看着“X照门”呢^_^ ,正好内(不好意思啦,并不是每个人都这么巧,但一次就够了) 怎么办? 关掉?等下还要接着看呢,而且也怕有人趁机动我的电脑,打开“我最近打开的文件”,完了,什么都出来了。。。。 关机?不用这么麻烦吧,再说电脑开开关关也不太好吧,怎么办呢?
真正的U盘加密+文档同步+计算机锁定=无敌U盘伴侣 这是一款完全免费的软件,程序体积小巧,不到100KB,可以在U盘或电脑上运行。界面也绝对够“魅惑”,她还是一款绿色软件,就可以完全解决掉你上面将面临的问题!! --------------------------------------------------------- 应用举例: A、随着U盘/存储卡容量呈几何级增长,越来越多的朋友把自已的资料和秘密保存在U盘当中。 但是U盘的不安全因素使我们一直在担心害怕数据的遗失,如何保证自已U盘中的文件安全已成为一个迫在眉捷的问题! 虽然现在市场上有一些U盘加密软件,但那只是简单的隐藏,文件数据的安全得不到保障;或者有专门的软件,但又只能针对某一个U盘品牌,局限性非常大。 B、有朋友向你借用U盘/SD卡,或不慎丢失,你得睡不着? 你还将面临:1、企业机密泄露,自己饭碗难保;2、 苦心经营多年的客户资料被黑心同事全部盗走;3、 自己、朋友和家人的照片被发布上网,惨遭恶 搞,还引发“人肉搜索”…… C、现在许多朋友把家当成公司,公司忙不完的活要带到家里继续做,每天要把“我的文档”的几百上千个文件一次次的复制到U盘中,许多文件是U盘内已经有的了,如何解决这个问题,当然是把文件同步到U盘中啦,排除相同点,每天只要一点点^_^,很快很方便! 同时也是个人备份经常更新的文档、相片的好帮手。 D、在办公室上网正看着“X照门”呢^_^ ,正好内(不好意思啦,并不是每个人都这么巧,但一次就够了) 怎么办? 关掉?等下还要接着看呢,而且也怕有人趁机动我的电脑,打开“我最近打开的文件”,完了,什么都出来了。。。。 关机?不用这么麻烦吧,再说电脑开开关关也不太好吧,怎么办呢? --------------------------------------------------------- 分区加密功能特点: 1、不针对U盘主控方案,所有U盘、SD卡、CF卡都适用 2、可全盘加密 3、格式化后加密区数据依然存在 4、如果U盘遗失,不担心机密资料泄出 5、加密后不影响U盘的传输速度 6、加密后,别人无法得知私密区的存在 7、可预防加密区感染电脑病毒 8、兼容U盘量产USB-CDROM 魅色精灵应用举例: 我们可以将自已的密码数据库、收藏夹、银行数字证书、私人相片、日记、商业文件、财务数据等存放在加密区 这样就多了一层保护,数据更安全。 --------------------------------------------------------- 常见问题和使用技巧: 1、魅色U盘精灵可以适用于所有的U盘和SD卡吗? 答:可以,魅色U盘精灵不限制使用的U盘/SD卡方案和品牌,且永久免费。 小技巧:商家们可在出售的U盘中赠送本软件,以提高产品的附加价值。且本软件基本不占用空间 2、为什么我的同步列表内出现了乱码字符? 答:造成这种情况的原因一般是U盘内出现了坏块,解决办法是用相应的量产工具将U盘低格修复。 3、第一次分区后正常使用,再次插入U盘时无法进入加密区,提示密码错误? 答:魅色U盘精灵的默认密码为“meise”,也可以通过“改密码”功能修改为自已的密码。 还有一种情况是没有改过密码,解决方法请参考第二条 4、为什么我打开魅色U盘精灵就出现一个错误提示框:I/O错误,请检查是否选定的驱动器内没有磁盘 答:这种情况一般会出现在有内置读卡器且没有插入存储卡的笔记本上,只要在“请选择可移动磁盘”的下拉 列表中选择你要操作的移动设备即可。 5、在电脑上运行魅色U盘精灵和在U盘上运行有什么区别? 答:在功能上没有任何区别。只是在U盘上运行时启动速度会稍慢一些 6、如何更快的进入加密区? 答:1、鼠标点击“加密区”;2、直接输入密码;3、按回车键。是不是很快,一气呵成 --------------------------------------------------------- 版本更新: V1.74: 窗口最小化到系统托盘,方便其它软件的操作 V1.63: 优化了内存占用,修正了同步列表最后一项无法删除的bug V1.61: 增加合并分区时需输入密码,使加密区安全性进一步提高 V1.57: 支持在U盘上运行魅色精灵,方便在没有本程序的电脑上使用,真正的私人随身保险箱。 V1.11: 1、关闭程序时自动退出加密区,U盘更安全,使用更放心 2、鼠标移动到同步计划栏时自动显示源文件夹全目录名
Win8的封装 用:Sc Sc封装工具简介 Sysprep Chief Executive Officer 意为系统封装首席执行官,简称Sc,由系统总裁网站(http://www.sysceo.com/)开发研制,是一款面对Windows操作系统封装的一款辅助工具,界面友好、简单易用、智能高效、自定义强,是学习研究系统封装爱好者的首选。 我的效果图: WIN 8 的驱动可以直接用:万能驱动助理 万能驱动助理(从5.25版起),WIN 7的驱动完全运行WIN 8 直接不能用,可以做一点点的修改,就完全可以了 这是WIN 7的 这样WIN8就完全支持了 最新公测版本号为:Beta1.2.0.1009 支持平台: Windows XP/2000/2003/7/2008/8 关于封装WIN8卡住不执行问题的解决办法: 这个是权限问题!请检查系统用户是否为管理员,如果是,不要,再查看一下UCA是否打开,如果打开请关闭,如果已经关闭,请在检查一下注册表[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] "FilterAdministratorToken"=dword:00000001,把这里值改成0,再者请右击程序管理员运行! 功能简要: 五大自定义功能模块:母盘系统、工具大全、目标系统、计划任务、部署过程、封装过程。 1、母盘系统:自动智能扫描并检测当前被封装的系统状态,全面扫描系统信息、封装部署必备文件、封装部署所依赖的各大细节、系统精简等多项导致封装部署失败的文件和事项,并且提供系统修复和精简功能。 2、工具大全:提供封装相关的精品辅助软件的下载,每款软件都经过多次测试无误的精品软件,一站式封装全套软件一网打尽,并提供及时更新和测试。 3、目标系统:对部署的目标系统的强大自定义设置模块,主要设置有:常规优化、智能转移目标系统资料、智能删除部署使用过驱动包、智能转换NTFS文件系统、预制随机计算机名、智能识别笔记本并做相应处理、设置固定IP和预制随机IP、设置目标系统用户名、安装序列号等等。 4、计划任务:对部署过程提供的强大自定义外部软件和设置的接口模块、接口数量无限,提供的接口过程有5个,分别是:系统部署前、部署中、部署后、首次进系统登录时,首次进系统进桌面时;提供运行的接口类型有4种,分别是:运行软件、导入注册表、删除文件、删除文件夹;对于运行的接口方式有4种,分别是:正常运行、隐藏运行、最大化运行、最小化运行;对于运行接口完成后还提供删除接口源文件的功能,并每个接口间运行都可以自定义等待时间、不等待、等待上一个接口运行完成的模式。 5、部署过程:对部署过程的一些自定义设置模块,主要设置有:部署背景图(单张、多张轮流播放)、部署前密码验证机制、部署前安装协议机制、部署前加载usb设备驱动、激活Administrator用户、自定义部署分辨率、自定义系统部署文件颜色、自定义部署模块。 6、封装过程:对系统封装过程的一些自定义设置模块,主要设置有:自动运行Sysprep.exe进行封装、自动卸载硬件驱动、自动更改处理硬件HAL、加载扩展SRS驱动、自动保存当前系统的输入法状态、封装后锁定计算机信息防止二次修改等等。 细节亮点: 1、Sc支持系统安装意外断电续装功能(支持VISTA以下系统)。 2、Sc部署中使用快捷键Ctrl+F9可以跳过安装过程直接进入系统(支持VISTA以下系统)。 3、Sc部署中将智能处理因网卡驱动卡在部署过程的功能,此功能支持任何第三方驱动包的使用(支持VISTA以下系统)。 4、Sc部署完成后智能转移IE收藏夹和我的文档能使系统立即生效,无需计算机。 5、Sc部署多元化部署模块,所有模块的细节均可自定义,如字体颜色,进度条底色,高亮颜色,坐标位置等等。 6、Sc提供完善的反馈机制,SC程序自带反馈功能,可以通过文字和图片的形式反馈给我们,在部署过程中如果发生意外,SC部署程序会自动在WINDOWS文件夹下生成一个Scbug.html文件,为了不遗留文件在客户机上,该文件会在第二次启自动删除,所以当您在首次进桌面如果发现该文件,您可以提交给我们! 配置文件: 对Sc进行设置后都会在根目录下产生一个名为Scdata.dat配置文件,为了防止破坏配置文件,对配置文件进行了加密,该配置文件只能通过运行Sc软件进行修改,配置文件自动保存最后一次设置的状态。 更新日志: 最新版本:Beta1.2.0.1009 (2012年12月17日更新) ------------------------------------ 1.2.0.1009更新列表 1、更新调用外部接口兼容问题; 2、更新部署程序; 3、新增可选自动清理多余SRS驱动选项; 历史版本更新日志: ------------------------------------ 1.2.0.1006更新列表 1、修复精简模块里WIN7下删除帮助文件导致EXPLORER结束的BUG; 2、改进精简模块里WIN7下精简%windir%\winsxs\Backup假死现象; 3、更新部署模块对没有使用SC自带SRS驱动的清理工; 4、更新部署模块绚丽进度条模式皮肤; 5、更新精简模块的部分函数; 6、更新程序图标。 1.2.0.1003更新列表 1、修复WIN8系统部署带背景的情况下,安装字体读取乱码问题; 2、优化WIN8系统封装部署模块代码; 3、更新程序图标。 Beta1.2.0.1002 ------------------------------------ 1.2.0.1002更新列表 1、调整增强键盘和鼠标驱动从SRS驱动里独立到可选项目; 2、增加赞助商地址为可选设置项目; 3、更新第二次启的清理子程序代码,主要取消删除部署程序的库文件代码; Beta1.2.0.1001更新列表 ------------------------------------ 修复内测版本所有已知BUG。

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧