CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  控件

★★★★★200分★★★★★求控件HOOK父窗体的消息...

楼主LWWANDVB(编程小子)2005-01-03 20:34:59 在 VB / 控件 提问

写控件时使用HOOK造成程序溃崩!  
  以下的代码,在Form1使用HOOK是求MOUSE和键盘消息是很好的。  
  Public   Function   Hook&(ByVal   hWnd1&)  
      oldWndProc   =   SetWindowLong(hWnd1,   GWL_WNDPROC,   AddressOf   NewWndProc)  
      Hook   =   oldWndProc  
  End   Function  
   
  Public   Sub   UnHook(ByVal   hWnd1&)  
      SetWindowLong   hWnd1,   GWL_WNDPROC,   oldWndProc  
  End   Sub  
   
  Public   Function   NewWndProc&(ByVal   hWnd1&,   ByVal   uMsg&,   ByVal   wParam&,   ByVal   lParam&)  
      …  
      NewWndProc   =   CallWindowProc(oldWndProc,   hWnd1,   uMsg,   wParam,   lParam)  
  End   Function  
   
  但在自编的一个控件,要HOOK父窗体的消息,可是不管在什么时候一用HOOK,VB6马上消失了。试了N次,无一例外,不解…是这样HOOK的。  
        Hook   Extender.Parent.hwnd    
  问题点数:100、回复次数:2Top

1 楼songyaowu(不以分多而蹭之;不因分少而不答; www.vb99.com)回复于 2005-01-04 07:50:08 得分 100

应该是用   UserControl.Parent.hwnd   来获得交窗体的句柄!Top

2 楼LWWANDVB(编程小子)回复于 2005-01-04 08:28:53 得分 0

呵呵,我找到原因了.原来HOOK不能连续使用两次,不小心使用了连续了两次造成VB6挂掉.  
   
  Extender.Parent.hwnd也可以,但要在form_active事件引发时HOOK.  
   
  Top

相关问题

  • 怎样在子窗体中访问父窗体中的控件
  • 怎样在子窗体中调用MDI父窗体的控件?
  • MDI父窗体如何让操作子窗体中控件
  • 如何由MDI子窗体向父窗体传递参数和更该父窗体控件的属性????
  • 如何让子窗体的控件操作改变父窗体的控件显示
  • 请问:如何改变父窗体的控件属性?
  • 谁有窗体的控件!!!
  • 创建窗体及控件
  • MDI窗体控件问题.
  • 300分问一个问题:如何在子窗体上按键,让父窗体中的控件获得,并且当焦点在子窗体中的控件上时,光标仍在父窗体的控件上?

关键词

  • vb6
  • 控件
  • 消息
  • 窗体
  • hook
  • newwndproc
  • hwnd
  • byval
  • 使用
  • parent

得分解答快速导航

  • 帖主:LWWANDVB
  • songyaowu

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo