⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module1.bas

📁 很好的教程原代码!
💻 BAS
字号:
Attribute VB_Name = "Module1"
Option Explicit

Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
   (ByVal hwnd As Long, _
   ByVal nIndex As Long, _
   ByVal dwNewLong As Long) As Long

Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
   (ByVal hwnd As Long, _
   ByVal nIndex As Long) As Long

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

Declare Sub CopyMemory Lib "KERNEL32" Alias "RtlMoveMemory" ( _
    lpvDest As Any, _
    lpvSource As Any, _
    ByVal cbCopy As Long)

Public Const GWL_WNDPROC = (-4)
Public Const WM_WINDOWPOSCHANGING = &H46

Type WINDOWPOS
        hwnd As Long
        hWndInsertAfter As Long
        x As Long
        y As Long
        cx As Long
        cy As Long
        flags As Long
End Type

Public preWinProc As Long

Public Function wndproc(ByVal hwnd As Long, ByVal Msg As Long, _
                          ByVal wParam As Long, _
                          ByVal lParam As Long) As Long
  Dim lwd As Long, hwd As Long
  If Msg = WM_WINDOWPOSCHANGING Then
     Dim WPOS As WINDOWPOS
     CopyMemory WPOS, ByVal lParam, Len(WPOS)
     If WPOS.x < 0 Then
        WPOS.x = 0
        CopyMemory ByVal lParam, WPOS, Len(WPOS)
     End If
  End If
  '将之送往原来的Window Procedure
  wndproc = CallWindowProc(preWinProc, hwnd, Msg, wParam, lParam)
End Function


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -