写了个禁止关闭计算机的模块(原创:唐细刚 2005-5-29)
来源:互联网 发布:手机版cms 编辑:程序博客网 时间:2024/05/01 10:27
CSDN上看到这个问题,顺便写了个模块,方便大家调用:
http://community.csdn.net/Expert/topic/4041/4041955.xml?temp=.7912561
主 题:如何阻止windows关机?'mStopShutDown.bas
模块代码:
Private Const GWL_WNDPROC = (-4)
Private Const WM_ENDSESSION = &H16
Private Const WM_QUERYENDSESSION = &H11
Private WndProc As Long
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc
As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As
Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long,
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Sub HookShutDown(ByVal hWnd As Long)
If WndProc = 0 Then
WndProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf WindowProc)
End If
End Sub
Public Sub UnHookShutDown(ByVal hWnd As Long)
If WndProc <> 0 Then
Call SetWindowLong(hWnd, GWL_WNDPROC, WndProc)
WndProc = 0
End If
End Sub
Private Function WindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal
lParam As Long) As Long
If uMsg = WM_QUERYENDSESSION Then
WindowProc = False '为0
Exit Function
ElseIf uMsg = WM_ENDSESSION Then
WindowProc = False '为0
Exit Function
End If
WindowProc = CallWindowProc(WndProc, hw, uMsg, wParam, lParam)
End Function
主窗体代码:
Private Sub Form_Load()
Call HookShutDown(Me.hWnd)
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Call UnHookShutDown(Me.hWnd)
End Sub
本文已经被其他的网站引用,比如:
http://www.i0562.com/default.asp?cat=3
请保留我的原创说明.
- 写了个禁止关闭计算机的模块(原创:唐细刚 2005-5-29)
- 【原创】写了个patch,Compaq Evo N600c能用Fn+Esc关闭屏幕了
- 如何禁止别人关闭计算机(转载)
- 今天晚上写了个获取当前Office版本的函数(原创!)
- 写了个查找关闭进程的脚本
- 关闭计算机模块
- 写了个 Ping 模块 很实用!
- 【原创】搞了个NetGear的路由器,为此写了个小程序来查Wan IP.
- 【原创】搞了个NetGear的路由器,为此写了个小程序来查Wan IP.
- 写个原创文章
- 用python的tkinter模块写了个查询IP地址的小程序
- [技术学习]利用CPAN模块WordPress::XMLRPC写了个提交博客的Perl脚本
- 自己写了3天的俄罗斯方块,纯原创!
- 新写机器猫游戏,国内写机器猫游戏的不多,所以我这个是原创了,呵呵(图)
- 好久没有写原创日志了!现在每个星期写一篇总结一周的学习总结(一)!
- 最近cocos2d-x项目需求, 写了个客户端的基于TCP的网络通讯模块(ios,android, win32),
- 禁止标题栏的关闭按钮
- 写了个缓存 Session 的类
- QuickTime Component实例(一)
- Struts控制器组件---RequestProcessor类
- Microsoft® Visual Studio® .NET 2003 自述文件
- 找工作学历是否真的那么重要!
- 比尔-盖茨给毕业生的11条人生建议
- 写了个禁止关闭计算机的模块(原创:唐细刚 2005-5-29)
- 软件开发过程与思想
- 开发笔记
- 男人25岁前应该懂得的21个道理!
- 如何用正确的方法写出高质量的软件
- 怎样成为优秀的软件模型设计者?
- queryDataSet中多条件过滤数据集的sql写法
- 你喜欢天长地久,还是曾经拥有?
- 链接错误LNK2001