获得当前窗体的句柄报错

来源:百度知道 编辑:UC知道 时间:2024/05/11 02:47:03
我在学怎么样把窗体系统菜单上的按钮禁用的效果
查了很多资料写出的代码如下:

Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert 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 Const MF_REMOVE = &H1000&
Private Const SC_COLSE = &HF060
Private Const SC_MAXIMIZE = &HF030
Private Const SC_MINIMIZE = &HF020

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
RemoveMenu(GetSystemMenu(Me.hWnd, 0), SC_COLSE, MF_REMOVE)
RemoveMenu(GetSystemMenu(Me.hWnd, 0), SC_MAXIMIZE, MF_REMOVE)
RemoveMenu(GetSystemMenu(Me.hWnd, 0), SC_MINIMIZE, MF_REMOVE)

End Sub

可以参考http://zhidao.baidu.com/question/32471167.html<

我这裏不会报错.

Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert 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 Const MF_REMOVE = &H1000&
Private Const SC_COLSE = &HF060
Private Const SC_MAXIMIZE = &HF030
Private Const SC_MINIMIZE = &HF020

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

RemoveMenu GetSystemMenu(Me.hWnd, 0), SC_COLSE, MF_REMOVE
RemoveMenu GetSystemMenu(Me.hWnd, 0), SC_MAXIMIZE, MF_REMOVE
RemoveMenu GetSystemMenu(Me.hWnd, 0), SC_MINIMIZE, MF_REMOVE

End Sub

你可以将Me改成Form1 也就是你窗体的名称试一下.

=========华丽的分隔线====================

vb.net/vb2005代码

Public Class Form1

Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Intege