解决方案 »
- 一个Access问题
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~问题还未解决!~~~~~~~~~~~~~~~~~~~~~~~~~(在线等!~~~95分~UP有分!~)
- VB中如何像IDE那样的绘制窗体?
- 在VB中,怎么样编写只有函数的DLL,也就是一些函数集。然后在VB中又怎么调用呢?
- 在一个表中增加了一个数值字段,如何赋上不同的值
- 谁能帮我详细分析一下,下面的函数?
- 已知上下班的时间,算一天实际工作几小时,加班几小时,谢谢大家
- 关于commonDialog的使用问题
- 帮定了txt型的odbc,但是用ado打开时是说打不开该文件类型,或以独占方式打开或者没有权限!
- 用data控件连接*.mdb时的密码
- VB-插入一行數據到數據庫代碼錯誤
- DDE被淘汰了??那有啥新技术可以实现他的功能啊
'如果UnloadMode=vbAppWindows(vbAppWindows = 2 ), _
MSDN对vbAppWindows常数的解释:当前 Microsoft Windows 操作环境会话结束。
'你要的代码
End If
高手快来吧我看有人在05年就问这个问题
http://topic.csdn.net/t/20050203/19/3774110.html
谁能来个实例
Option ExplicitPublic Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As LongPublic 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
Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public Const GWL_WNDPROC = (-4)
Public Const WM_ENDSESSION = &H16
Public Const WM_QUERYENDSESSION = &H11
Public preWinProc As Long
Public lngHook As Long
Public Function funShutDownHook(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
funShutDownHook = 0
If Msg = WM_QUERYENDSESSION Then
Debug.Print "QryEnd", wParam, lParam
Else
If Msg = WM_ENDSESSION Then
If wParam = 0 Then '代表将顺利关机或LogOff,这时便得做正常结束程序的操作
'此处添加你要执行的代码
End If
End If
End If
funShutDownHook = 1
End Function
Form1代码:Option ExplicitPrivate Sub Form_Load()
' lngHook = SetWindowsHookEx(WM_QUERYENDSESSION, AddressOf funShutDownHook, App.hInstance, 0)
lngHook = SetWindowsHookEx(WM_ENDSESSION, AddressOf funShutDownHook, App.hInstance, 0)
End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
UnhookWindowsHookEx lngHook
End Sub