请问怎么才能在锁定计算机的状态下关机、强制关机、注销、重启、休眠、睡眠?

问题描述

之前我用的是下面的,但是锁定的状态下就失效了,请问有什么别的方法吗?PublicClassWindowsControllerPublicEnumRestartOptionsLogOff=0PowerOff=8Reboot=2ShutDown=1Suspend=-1Hibernate=-2EndEnumPublicStructureLUIDDimLowPartAsIntegerDimHighPartAsIntegerEndStructurePublicStructureLUID_AND_ATTRIBUTESDimpLuidAsLUIDDimAttributesAsIntegerEndStructurePublicStructureTOKEN_PRIVILEGESDimPrivilegeCountAsIntegerDimPrivilegesAsLUID_AND_ATTRIBUTESEndStructurePrivateConstTOKEN_ADJUST_PRIVILEGES=&H20PrivateConstTOKEN_QUERY=&H8PrivateConstSE_PRIVILEGE_ENABLED=&H2PrivateConstFORMAT_MESSAGE_FROM_SYSTEM=&H1000PrivateConstEWX_FORCE=4DeclareFunctionLoadLibraryLib"kernel32"Alias"LoadLibraryA"(ByVallpLibFileNameAsString)AsIntPtrDeclareFunctionFreeLibraryLib"kernel32"(ByValhLibModuleAsIntPtr)AsIntegerDeclareFunctionGetProcAddressLib"kernel32"(ByValhModuleAsIntPtr,ByVallpProcNameAsString)AsIntPtrDeclareFunctionSetSuspendStateLib"Powrprof"(ByValHibernateAsInteger,ByValForceCriticalAsInteger,ByValDisableWakeEventAsInteger)AsIntegerDeclareFunctionOpenProcessTokenLib"advapi32.dll"(ByValProcessHandleAsIntPtr,ByValDesiredAccessAsInteger,ByRefTokenHandleAsIntPtr)AsIntegerDeclareFunctionLookupPrivilegeValueLib"advapi32.dll"Alias"LookupPrivilegeValueA"(ByVallpSystemNameAsString,ByVallpNameAsString,ByReflpLuidAsLUID)AsIntegerDeclareFunctionAdjustTokenPrivilegesLib"advapi32.dll"(ByValTokenHandleAsIntPtr,ByValDisableAllPrivilegesAsInteger,ByRefNewStateAsTOKEN_PRIVILEGES,ByValBufferLengthAsInteger,ByRefPreviousStateAsTOKEN_PRIVILEGES,ByRefReturnLengthAsInteger)AsIntegerDeclareFunctionExitWindowsExLib"user32"(ByValuFlagsAsInteger,ByValdwReservedAsInteger)AsIntegerDeclareFunctionFormatMessageLib"kernel32"Alias"FormatMessageA"(ByValdwFlagsAsInteger,ByVallpSourceAsIntPtr,ByValdwMessageIdAsInteger,ByValdwLanguageIdAsInteger,ByVallpBufferAsStringBuilder,ByValnSizeAsInteger,ByValArgumentsAsInteger)AsIntegerPublicSubExitWindows(ByValhowAsRestartOptions,ByValforceAsBoolean)SelectCasehowCaseRestartOptions.SuspendSuspendSystem(False,force)CaseRestartOptions.HibernateSuspendSystem(True,force)CaseElseExitWindows(Convert.ToInt32(how),force)EndSelectEndSubProtectedSubExitWindows(ByValhowAsInteger,ByValforceAsBoolean)EnableToken("SeShutdownPrivilege")IfforceThenhow=howOrEWX_FORCEIf(ExitWindowsEx(how,0)=0)ThenThrowNewPrivilegeException(FormatError(Marshal.GetLastWin32Error()))EndSubProtectedSubEnableToken(ByValprivilegeAsString)IfNotCheckEntryPoint("advapi32.dll","AdjustTokenPrivileges")ThenReturnDimtokenHandleAsIntPtr=IntPtr.ZeroDimprivilegeLUID=NewLUID()DimnewPrivileges=NewTOKEN_PRIVILEGES()DimtokenPrivilegesAsTOKEN_PRIVILEGESIf(OpenProcessToken(Process.GetCurrentProcess().Handle,TOKEN_ADJUST_PRIVILEGESOrTOKEN_QUERY,tokenHandle))=0ThenThrowNewPrivilegeException(FormatError(Marshal.GetLastWin32Error()))If(LookupPrivilegeValue("",privilege,privilegeLUID))=0ThenThrowNewPrivilegeException(FormatError(Marshal.GetLastWin32Error()))tokenPrivileges.PrivilegeCount=1tokenPrivileges.Privileges.Attributes=SE_PRIVILEGE_ENABLEDtokenPrivileges.Privileges.pLuid=privilegeLUIDDimSizeAsInteger=4If(AdjustTokenPrivileges(tokenHandle,0,tokenPrivileges,4+(12*tokenPrivileges.PrivilegeCount),newPrivileges,Size))=0ThenThrowNewPrivilegeException(FormatError(Marshal.GetLastWin32Error()))EndSubProtectedSubSuspendSystem(ByValhibernateAsBoolean,ByValforceAsBoolean)IfNotCheckEntryPoint("powrprof.dll","SetSuspendState")ThenThrowNewPlatformNotSupportedException("TheSetSuspendStatemethodisnotsupportedonthissystem!")SetSuspendState(Convert.ToInt32(IIf(hibernate,1,0)),Convert.ToInt32(IIf(force,1,0)),0)EndSubProtectedFunctionCheckEntryPoint(ByVallibraryAsString,ByValmethodAsString)AsBooleanDimlibPtrAsIntPtr=LoadLibrary(library)IfNotlibPtr.Equals(IntPtr.Zero)ThenIfNotGetProcAddress(libPtr,method).Equals(IntPtr.Zero)ThenFreeLibrary(libPtr)ReturnTrueEndIfFreeLibrary(libPtr)EndIfReturnFalseEndFunctionProtectedFunctionFormatError(ByValnumberAsInteger)AsStringDimBuffer=NewStringBuilder(255)FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,IntPtr.Zero,number,0,Buffer,Buffer.Capacity,0)ReturnBuffer.ToString()EndFunctionEndClassPublicClassPrivilegeExceptionInheritsExceptionPublicSubNew()MyBase.New()EndSubPublicSubNew(ByValmessageAsString)MyBase.New(message)EndSubEndClass

解决方案

解决方案二:
各位帮帮忙啊,谢谢了
解决方案三:
锁定计算机的状态下,计算机是无法进行任何操作的。其他的也等大侠来。
解决方案四:
直接按重启键或关机键或直接拔电源

解决方案五:
锁定情况下是在不同的桌面,这个不能关闭。
解决方案六:
如果用户手工进入锁定状态就没办法。但是你可以用mouse_event或是sendInput这2个api,或是SendKey方法,发送一些无效的屏幕点击或键盘输入,以阻止系统进入休眠模式,屏幕保护。
解决方案七:
进入屏保后,往往默认都是过一段时间锁定计算机的。
解决方案八:
牛B有没有其他低端方法啊在锁定状态下,我想知道如何手动快捷键操作关机状态的,当然不希望是直接按电源按钮之类,希望有高手指点一下,谢过咯!
解决方案九:
该回复于2012-03-21 20:13:59被版主删除

时间: 2024-12-22 15:54:29

请问怎么才能在锁定计算机的状态下关机、强制关机、注销、重启、休眠、睡眠?的相关文章

设置让电脑只有按开机键才能把电脑从待机状态下唤醒?

网友问:怎么样设置电脑在待机状态下只有按开机键才能开机啊,现在我的电脑在待机状态下按任意键或点击鼠标就能唤醒电脑. 1 右击我的电脑 - 属性 - 硬件 - 设备管理器 - 鼠标和其他指针设备 2 双击鼠标 - 电源管理 - 把允许此设备唤醒计算器的勾点掉,然后确定. 3 如果也不想键盘唤醒电脑的话,双击键盘 - 电源管理 - 把允许此设备唤醒计算器的勾点掉,然后确实. 4 朋友们可以根据自己的需要进行设置,一般情况下,允许鼠标唤醒睡眠中的电脑其实很不错的系统默认设置,可以不必修改.

如何禁止win7电脑在空闲状态下自动关机?

  可能对于很多朋友来说,只听说过win7 旗舰版在空闲状态下会自动的进入到锁屏.屏保的状态,而没有听说过电脑还会在空闲状态下自动的关机的吧?可是你别说,现实生活中还真的就存在这样的情况.小编有一个朋友因为家里网速不是很好的缘故,所以总是喜欢在空闲的时候下载东西,既不占网速,也不耽误时间.但是前段时间,他却发现每次醒来的时候电脑都是关机的,东西也没有下载好,于是自己在一旁偷偷的观察,却发现win7系统在空闲的状态下维持不久便会自动关机,那么这样的问题,我们要如何解决呢? 1.第一步,咱们可以先查

锁定状态下 Win7怎么样才能关机

现在大部分的系统,在锁定状态都是有个关闭电脑的图标的.但是如果你的系统没有,那么怎么样关机呢?大部分人用的方法是先登录再关机,所谓的锁定状态通常是指电脑在登录界面. 1 在windows xp和windows 2000系统如果在登录界面没有关闭电脑按钮.那么小编通过是通过更改注册表的设置来搞定的. 2 进入注册表,开始运行输入"regedit"就行了. 定位到:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinl

锁定计算机的方法

我们在用电脑时,电脑开着有时候会短暂的离开下电脑,而电脑上有些东西不想让其他的看到或是操作.可以设置一下安全保护方法.暂时锁定计算机. 1.Win+L键法 在WindowsXP中在任何时候按下Win+L(L 是LockStation之意)键都可以锁定计算机.这个锁定计算机的快捷键现在Win7中也同样有用.大家可以试试,按下.Win+L这个锁定计算机的快捷键,如果设置了电脑密码,就会要输入密码才能进入电脑. 2.屏幕保护法 右击电脑桌面--属性,屏幕保护程序设置,可以设置电脑1分钟,或是几分钟,不

在Windows XP下使用Ctrl+Alt+Del键锁定计算机

  在Windows XP下,同样可以像Win2000下一样使用Ctrl+Alt+Del键锁定计算机,但必须先进行以下设置:打开控制面板→用户账户→更改用户登陆或注销的方式→不选择"使用欢迎屏幕"项(该项默认的是选择的).确定后使用Ctrl+Alt+Del 键,选择锁定计算机,就可以将计算机锁定了(或者使用WINKEY+L快捷键直接锁定计算机). 另外如果不更改该项设置,直接使用WINKEY+L会进入Windows欢迎屏幕,此时计算机也处于锁定状态,只有用户输入密码才能进入系统界面.

Win7电脑如何锁定计算机

  1.打开控制面板,方法是点击屏幕左下角的"开始"→"控制面板"即可. 接下来就有不同的方法了. 方法一是,如果你的界面是有许多图标的,可以选择电源选项.如下图. 计算机-win7如何锁定计算机"> 2.左边一列中,有"唤醒时需要密码"链接,点击它. 弹出的对话框如下图.输入新密码,建议不要太长,两三位即可,因为你需要频繁的使用,而且又不是银行卡密码,这个密码的重要性不大. 可以输入密码提示,如果是个小迷糊,建议使用.例如,你公

怎么设置电脑锁定状态下无法关闭电脑呢?

  在用电脑时,有时会需要离开电脑一会儿,可是,在离开这段时间,总会有人乱动自已的电脑,为了不让他人弄丢自已正在编辑的内容,只能把电脑锁定,让他人进不了电脑,可是不知怎么,经常把电脑给关掉了,结果正在编辑的内容也丢了. 那怎样在电脑锁定状态下,无法关闭电脑呢?当然是指软关机,不是那种直接关电源,是点击了屏幕左下角那个开关,如下图. 1 ,操作方法,进入电脑桌面,打开"开始"菜单,启动"运行"程序,也可以直接按Win+R打开运行窗口. 2,然后在打开的运行窗口中,输入

如何能给锁定状态下的Windows 7增加关闭按钮

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   以前我们曾有例证说明,Windows2000/XP和Windows7对应的注册表键值功能在未必是一样的,本文的例证同样说明了这个问题.现在,笔者向大家留下一个疑问,如何能给锁定状态下的Windows7增加一个关闭按钮呢? 在Windows2000和WindowsXP系统中,用户一般都是进入注册表分支HKEY_LOCAL_MACHINE\SOFTWARE \Mic

解决Windows 7锁定状态下没有关闭按钮的方法

很多用户应该还记得,http://www.aliyun.com/zixun/aggregation/32995.html">在Windows2000系统后,用户可以通过修改注册表的方式,为系统锁定后增加一个关闭按钮,以免去每次需要输入密码登录,然后才能关闭系统. 本文中,您将了解到如下内容: 问题Windows7锁定状态下,没有关闭按钮.本文看点在Windows2000系统后可用的方法,在Windows7下无效了.知识点Windows7注册表键值与早前版本相比,功能有所改变. 在Windo