Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4983956
  • 博文数量: 1696
  • 博客积分: 10870
  • 博客等级: 上将
  • 技术积分: 18357
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-30 15:16
文章分类
文章存档

2017年(1)

2016年(1)

2015年(1)

2013年(1)

2012年(43)

2011年(17)

2010年(828)

2009年(568)

2008年(185)

2007年(51)

分类: WINDOWS

2010-08-05 17:39:17

作者:金鸽

欢迎访问 sinodragon21.cublog.cn


结合Remote Spy工具、winuser.h头文件和CallWindowPro处打断点,调试Windows Mobile应用程序

1. 安装Windows Moblie SDK时,Remote Spy工具会安装到你的电脑上。使用它,你可以实时监视Phone上的某个进程中的所有消息WM_XXXX。

2. 在你的应用程序代码的CallWindowPro函数入口处打断点,该函数的原型如下:
LRESULT WINAPI CallWindowProc(
__in WNDPROC lpPrevWndFunc,
__in HWND hWnd,
__in UINT Msg,
__in WPARAM wParam,
__in LPARAM lParam
);
其中,Msg入参含有 WM_XXXX 消息值。这个函数是 消息的初始入口点。

3. winuser.h 中定义了Windows消息对应的值。
c:\program files\windows mobile 6 sdk\pocketpc\include\armv4i\winuser.h

/*
 * Window Messages
 */


#define WM_MOVE 0x0003
#define WM_SIZE 0x0005

// @CESYSGEN ENDIF


// @CESYSGEN IF GWES_WMBASE

// @CESYSGEN IF GWES_FOREGND

#define WM_ACTIVATE 0x0006
/*
 * WM_ACTIVATE state values
 */

#define WA_INACTIVE 0
#define WA_ACTIVE 1
#define WA_CLICKACTIVE 2

#define WM_SETFOCUS 0x0007
#define WM_KILLFOCUS 0x0008
// @CESYSGEN ENDIF

// @CESYSGEN ENDIF


// @CESYSGEN IF GWES_WINMGR


#define WM_SETREDRAW 0x000B
#define WM_SETTEXT 0x000C
#define WM_GETTEXT 0x000D
#define WM_GETTEXTLENGTH 0x000E
#define WM_PAINT 0x000F


阅读(1006) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~