窗口边框,及改变大小 BorderStyle = 3屏蔽关闭按钮! Option Explicit Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex 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 Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long Const MF_BYPOSITION = &H400& Const MF_REMOVE = &H1000& Const SC_CLOSE = &HF060 Const WS_MINIMIZEBOX = &H20000 Const WS_MAXIMIZEBOX = &H10000 Const GWL_STYLE = (-16)Private Sub Form_Load() Dim TempLng As Long RemoveMenu GetSystemMenu(Me.hwnd, 0), SC_CLOSE, MF_REMOVE TempLng = GetWindowLong(Me.hwnd, GWL_STYLE) TempLng = TempLng And Not WS_MINIMIZEBOX '最小化 TempLng = TempLng And Not WS_MAXIMIZEBOX '最大化 SetWindowLong Me.hwnd, GWL_STYLE, TempLng End Sub
BorderStyle = 3屏蔽关闭按钮!
Option Explicit
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex 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
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Const MF_BYPOSITION = &H400&
Const MF_REMOVE = &H1000&
Const SC_CLOSE = &HF060
Const WS_MINIMIZEBOX = &H20000
Const WS_MAXIMIZEBOX = &H10000
Const GWL_STYLE = (-16)Private Sub Form_Load()
Dim TempLng As Long RemoveMenu GetSystemMenu(Me.hwnd, 0), SC_CLOSE, MF_REMOVE
TempLng = GetWindowLong(Me.hwnd, GWL_STYLE) TempLng = TempLng And Not WS_MINIMIZEBOX '最小化 TempLng = TempLng And Not WS_MAXIMIZEBOX '最大化 SetWindowLong Me.hwnd, GWL_STYLE, TempLng
End Sub
屏蔽关闭按钮要用API。
楼上说得够清楚了!