谢谢!
解决方案 »
- 沉默太久了也该透透气了, [原创] 天琊 V1.0(测试版)
- 如何在word中保存某些信息,而这些信息在word文档中均不可见?
- 访问SQL数据库时出错?
- 哪个属性是使控件发虚的?就是那种不能用的状态
- 大虾,不要不理我!
- 送分
- 终于考完了!散分!
- 关于JET数据引擎的问题
- vsflex8控件,如何控制一列或一行不给输入?
- 请问:在DataReport的detail中定义了image控件,但是在code环境中,无法使用该image控件?
- VB6 winsock使用的是tcp/ip协议,内网通过代理服务器上网,是否能够穿越代理,与外网的服务器连接上?
- 请问,如何通过VB程序设计,提出iso镜像中的文件
Dim hSysMenu As Long
hSysMenu = GetSystemMenu(Me.hwnd, False)
RemoveMenu hSysMenu, GetMenuItemCount(hSysMenu) - 1, MF_BYPOSITION Or MF_REMOVE
DrawMenuBar Me.hwnd
Private Declare Function GetSystemMenu Lib "User32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "User32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function GetMenuString Lib "User32" Alias "GetMenuStringA" (ByVal hMenu As Long, ByVal wIDItem As Long, ByVal lpString As String, ByVal nMaxCount As Long, ByVal wFlag As Long) As Long
Const MF_STRING = &H0&
Const MF_BYCOMMAND = &H0&
Const SC_CLOSE = &HF060
Private hMenu As Long
Private CloseStr As String '记录Close MenuItem的字串
Private Sub Form_Load()
hMenu = GetSystemMenu(Me.hwnd, 0)
CloseStr = String(255, 0)
'SC_CLOSE指的便是"关闭"的那一个MenuItem ID
Call GetMenuString(hMenu, SC_CLOSE, CloseStr, 256, MF_BYCOMMAND)
CloseStr = Left(CloseStr, InStr(1, CloseStr, Chr(0)) - 1)
Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)
End Sub
---------------------------------------------------------------
简单一些的
Option Explicit
Dim Exit_Flag As Boolean ' 用来标记是否正常退出
' 如果选择退出按钮,则退出标记为真
Private Sub Exit_Cmd_Click()
Exit_Flag = True
End
End Sub
Private Sub Form_Load()
Exit_Flag = False
End Sub
' 根据退出标记,决定是否退出
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If Exit_Flag = False Then
Cancel = -1
End If
End Sub
---------------------------------------------------------------
新建一个EXE,贴下面代码:再运行
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 RemoveMenu Lib "USER32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "USER32" (ByVal hwnd As Long) As Long
Private Const MF_BYPOSITION = &H400&
Private Const MF_REMOVE = &H1000&
Private Sub DisableX()
Dim hMenu, nCount, LO As Long
hMenu = GetSystemMenu(Me.hwnd, 0)
nCount = GetMenuItemCount(hMenu)
LO = RemoveMenu(hMenu, nCount - 1, MF_REMOVE Or MF_BYPOSITION)
LO = RemoveMenu(hMenu, nCount - 2, MF_REMOVE Or MF_BYPOSITION)
End Sub
Private Sub Form_Load()
Call DisableX
End Sub
Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Public Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Public Const MF_BYPOSITION = &H400&
Public Const MF_REMOVE = &H1000&
Public Const SC_CLOSE = &HF060&
Public Const SC_MAXIMIZE = &HF030&
Public Const SC_MINIMIZE = &HF020&
Public Const SC_SIZE = &HF000&
Public Const SC_MOVE = &HF010&
Public Const SC_RESTORE = &HF120&
Private Sub Command1_Click()
'禁关闭
Dim hSysMenu As Long
hSysMenu = GetSystemMenu(Me.hwnd, False)
RemoveMenu hSysMenu, GetMenuItemCount(hSysMenu) - 1, MF_BYPOSITION Or MF_REMOVE
RemoveMenu hSysMenu, GetMenuItemCount(hSysMenu) - 2, MF_BYPOSITION Or MF_REMOVE
DrawMenuBar Me.hwnd
End Sub
Private Sub Command3_Click()
'禁最小
Dim hSysMenu As Long
hSysMenu = GetSystemMenu(Me.hwnd, 0)
RemoveMenu hSysMenu, SC_MINIMIZE, MF_REMOVE
DrawMenuBar Me.hwnd
End SubPrivate Sub Command4_Click()
'禁最大
Dim hSysMenu As Long
hSysMenu = GetSystemMenu(Me.hwnd, 0)
RemoveMenu hSysMenu, SC_MAXIMIZE, MF_REMOVE
DrawMenuBar Me.hwnd
End Sub