如何自定义消息?

typedef struct tagMSG
{
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG;
该如何给参数赋值?
[176 byte] By [oldpine-松林] at [2007-12-16]
# 1
#define MyMessage WM_USER + 10
# 2
然后就这样:WM_MESSAGE(MyMessage,MyFunction);
MyFunction的函数形式一般是这样的:
LRESULT MyFunction(WPARAM wParam,LPARAM lParam)
# 3
hwnd是要接受消息的窗口句柄
UINT 是消息的ID;
WPARAM 和LPARAM是消息的参数,可自己定义其内容。
其余的默认
max_welcome-????? at 2007-10-26 > top of Msdn China Tech,C/C++,C语言...
# 4
#define WM_MYMESSAGE (WM_USER + 100)
sans-长风半日 at 2007-10-26 > top of Msdn China Tech,C/C++,C语言...
# 5
你的题目好像与内容没太大的关系。

如果只是想要自定义消息,楼上说的很清楚了。不过想要让某个窗口处理自公定义的消息,可以用
sendmessage(...)
具体用法可见MSDN.
xtky_limi-窗外细雨 at 2007-10-26 > top of Msdn China Tech,C/C++,C语言...
# 6
在MSG结构中hwnd表示消息依附的窗口句柄,可以为空。
message指的是消息的ID,如可用上面的MyMessage;
wParam和lParam都可以自己指定,用户参数;
time表示的是消息发生需等待的时间,单位为毫秒;
pt表示的是当消息发送时,鼠标的位置。
明白了这些于是可以这样
MSG Message{NULL,MyMessage,0,0,0,0};
我也记得不太清楚,在使用前还是建议查查MSDN!
# 7
消息就是一个整形,在WINDOWS中WM_USER以后是留给用户的。
johnmack-爱若琴弦 at 2007-10-26 > top of Msdn China Tech,C/C++,C语言...
# 8
谢谢各位指点迷津。
#define MyMessage WM_USER + 10
MSG Message;
Message.hwnd = NULL;
Message.message = MyMessage;
Message.wParam = 0;
Message.lParam = 0;
Message.time = 0;
SendMessage(NULL,MyMessage,123,0);

这样一个消息,我怎么通过GetMessage或PeekMessage来截获这个消息?

oldpine-松林 at 2007-10-26 > top of Msdn China Tech,C/C++,C语言...
# 9
谢谢各位! 截获消息是重写WndProc函数。
再次感谢各位。
oldpine-松林 at 2007-10-26 > top of Msdn China Tech,C/C++,C语言...