阅读:2296回复:5
求助:如何在VXD中实现电源管理
想在VXD中关闭WIN98,和挂起和唤醒系统。不知道该怎样编写代码。
曾试过调用ExitWindows和ExitWindowsEx都没有成功。 如果需要象WDM中一样,用电源策略主向下传递消息,望各位大虾能不吝赐教该怎样做。小弟对WIN98下的电源管理函数和结构不太了解。 |
|
沙发#
发布于:2001-05-14 08:57
我也想知道啊!找了很久了。
|
|
|
板凳#
发布于:2001-05-16 19:15
同是天涯沦落人呀。
我可是毕业设计呀。可怜我只能找到WDM的,可惜我必须用VXD来完成这玩意:(讽刺呀 |
|
地板#
发布于:2001-05-16 21:04
我曾用VTOOLSD做过这种应用,以下是部分代码:
DWORD dd; PVOID la; struct{ WORD style; DWORD sztitle; DWORD sztext; WORD hwnd; }msgbox; struct{ UINT ureserved; DWORD dwreserved; }shut; shut.ureserved=0; shut.dwreserved=0; msgbox.sztext=LocalAlloc(LMEM_STRING,0,la,"您确实想关闭计算机吗?"); msgbox.sztitle=LocalAlloc(LMEM_STRING,0,la,"关闭"); msgbox.style=1;//MB_OK; msgbox.hwnd=NULL; dd=CallDLL("USER","MESSAGEBOX",sizeof(msgbox),&msgbox); LocalFree(msgbox.sztext); LocalFree(msgbox.sztitle); if (dd==1) CallDLL("USER","EXITWINDOWS",sizeof(shut),&shut); |
|
地下室#
发布于:2001-05-17 20:11
这是调用16位dll的方法,但我试过,不是每次都有效的.
|
|
|
5楼#
发布于:2001-05-20 15:50
很早以前我也试过这个方法,我是在VTOOLSD中派生一个APPLY的设备类(不好意思,记不得是不是这样拼写的了,因为在网吧,手头没书:))可是每次都返回错误值02。我知道出错会返回0-31,但我查遍了VTOOLSD中的HELP文挡,也没有查出02表示是出什么错误了。
我还试过调用EXITWINDOWSEX,结果也一样。 不管怎样还是非常感谢你回答我的问题:) 请问还有其他方法吗。 |
|