找回密码
 加入
搜索
查看: 1975|回复: 1

[系统综合] 同时替换窗口和控件的消息处理函数的问题..

[复制链接]
发表于 2011-4-16 10:14:31 | 显示全部楼层 |阅读模式
本帖最后由 xzxnovice 于 2011-4-16 22:20 编辑
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiConstantsEx.au3>
#include <winapi.au3>
 

Global $form1 = GUICreate('Form1', 400, 300)
$hCallback = DllCallbackRegister("My_WindowProc", "int", "hWnd;uint;wparam;lparam")
$tCallback = DllCallbackGetPtr($hCallback)

$CallProc = _WinAPI_SetWindowLong($form1, -4, $tCallback)

$btn=GUICtrlCreateButton("按钮 ",10,10)
$hCallbackbtn = DllCallbackRegister("My_btnProc", "int", "hWnd;uint;wparam;lparam")
$tCallbackbtn = DllCallbackGetPtr($hCallbackbtn)
$CallProcbtn = _WinAPI_SetWindowLong(GUICtrlGetHandle($btn), -4, $tCallbackbtn)

GUISetState()
 
While GUIGetMsg() <> -3
WEnd
GUIDelete()
 
  ;==>__wm_mouseleave
 
Func My_WindowProc($hwnd, $iMsg, $iwParam, $ilParam)
        Switch $iMsg
                Case 0x200;WM_MOUSEMOVE
                       ConsoleWrite("mouse move "&$hwnd&@cr)

                                        
        EndSwitch
        Return _WinAPI_CallWindowProc($CallProc, $hwnd, $iMsg, $iwParam, $ilParam)
EndFunc   ;==>My_WindowProc

Func My_btnProc($hwnd, $iMsg, $iwParam, $ilParam)
        Switch $iMsg
                Case 0x200;WM_MOUSEMOVE
                       ConsoleWrite("mouse move 0x" & Hex($iMsg,6) &@LF)

        EndSwitch
        Return _WinAPI_CallWindowProc($CallProcbtn, $hwnd, $iMsg, $iwParam, $ilParam)
EndFunc 
点几下按钮,程序会死掉??怎样同时替换窗口和控件过程呢?
 楼主| 发表于 2011-4-16 22:20:48 | 显示全部楼层
自顶一下, dx帮忙
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-26 08:55 , Processed in 0.078271 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表