Public Declare Function GetMessage Lib "user32" Alias "GetMessageA" (lpMsg As MSG, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long) As Long Declare Function PostMessage& Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) hwnd :接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage) wMsg :消息标识符 wParam :具体由消息决定 lParam :具体由消息决定 具体请看MSDN
Declare Function PostMessage& Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)
hwnd :接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)
wMsg :消息标识符
wParam :具体由消息决定
lParam :具体由消息决定
具体请看MSDN
你想在线程间用SendMessage传送数据,如果在一个进程内倒好办;如果不在一个进程内,建议你使用内存映射文件,否则极容易使进程崩溃。
好象照你说的:直接在线程中 SendMessage hWnd, LB_ADDSTRING, 0, strContent
不行。我在sendmessage时就会出错。返回为0。是否还需要GetMessage来获取消息。该怎么做?
你说:“直接在线程中 SendMessage hWnd, LB_ADDSTRING, 0, strContent”
如果换成是个checkbox控件,该发什么消息。好象这样的常数我在api view里没有发现。