很简单,通过WindowsAPI,删除窗体菜单项就行了
创新互联公司服务项目包括靖宇网站建设、靖宇网站制作、靖宇网页制作以及靖宇网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,靖宇网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到靖宇省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
首先在窗体类中声明API:
Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr
Declare Function RemoveMenu Lib "user32" (ByVal lngHmenu As IntPtr, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer
其次声明API参数常量:
Const MF_BYPOSITION As Integer = H400
然后在窗体类中写入过程:
Private Sub UserForm_Initialize_stopmove() '禁止窗体移动
Dim lngHwnd As IntPtr
Dim lngHmenu As IntPtr
lngHwnd = Me.Handle
If lngHwnd 0 Then
lngHmenu = GetSystemMenu(lngHwnd, False)
RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '这里的0代表菜单中从上往下数第一个菜单项
End If
End Sub
Private Sub UserForm_Initialize_onmove() '恢复窗体移动
Dim lngHwnd As IntPtr
Dim lngHmenu As IntPtr
lngHwnd = Me.Handle
If lngHwnd 0 Then
lngHmenu = GetSystemMenu(lngHwnd, True)
RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '这里的0与禁止代码中的数值同步,原因时虽然表面上删除了菜单项,实则为隐藏了菜单项,各个菜单的索引值并没有变,所以0依然代表初始菜单的第一个菜单项,即被删除的那个菜单项
End If
End Sub
然后如果你的窗口菜单是动态变化的,建议声明常数:
Const MF_BYPOSITION As Integer = H0
然后使用相关的Windows功能的常数进行删除菜单。常数需要自行查看winuser.h头文件
如果找不到该头文件,可以看这里:网页链接
其余信息详见MSDN:网页链接
最后说一下,不建议前面网友说的重写WndProc的方法,因为这样拦截标题栏点击消息会导致窗体本身的菜单也无法显示出来,有损窗体功能,并且像双击左上角图标关闭窗体这样的功能也会跟着拦截消息的操作一起被吞掉。
部分代码如下:
在窗口及WebBrowser创建完以后,写此代码:
WebBrowser.OnNewWindow2:=IE1NewWindow2;
给主窗口创建一个方法:
procedure TBrowForm.IE1NewWindow2(Sender: TObject; var ppDisp: IDispatch;var Cancel: WordBool);
Var NewForm:TBrowForm;
begin
try
NewForm :=TPopBrowerForm.Create(application);
NewForm.WebBrowser.OnNewWindow2 :=IE1NewWindow2;//如果在窗口的Oncreate事件
//有此代码,此处就可以省略
ppDisp := NewForm.WebBrowser.Application;
NewForm.Show;
Cancel:=false;
except
end;
end;
如果你是指字符型的变量,那么理论上是2G,实际上受最大可用物理内存的限制;
如果是指text控件,那么它的大小限制是64KB
重新输入正版序列号就行了,这个往上搜索一下2008和2010都有人写教程的。
一个月。vb.net开发软件试用期为一个月。VB.NET是一种简单,现代面向对象的计算机编程语言,是由微软开发。将.NETFramework和公共语言运行库的强大功能相结合。
注册码很好做啊 利用现在成熟的加密解密技术 很不容易破解的 但现在的.net时代 问题的关键不在这里 而是在如何加密自己的软件不让反编译 看看现在的.net软件 就算使用了乱码器 都好容易被反编译出来 只要被反编译 就会删掉你程序的注册功能部分 然后再重新编译 就可以无需注册正常使用了 根本就不用去破解你那深奥的注册码!