LRESULT CALLBACK CallWndProc( int nCode, WPARAM wParam, LPARAM lParam )
{
DWORD dwPIDWatched;
if( dwCurrentPID == 0 )
{
dwCurrentPID = GetCurrentProcessId();
HWND hwndMainHook;
hwndMainHook = ::FindWindow( 0, "SockintoMain" );
dwPIDWatched = ::SendMessage( hwndMainHook, (WM_USER+100), 0, 0 );
hOldHook = (HHOOK)::SendMessage( hwndMainHook, (WM_USER+101), 0, 0 ); if(dwPIDWatched==dwPIDWatched)
………………………………………………MSDN上的解释是sendMessage返回值The return value specifies the result of the message processing; it depends on the message sent.我想知道这段程序他返回的是什么值。特别是dwPIDWatched和dwPIDWatched的比较需要利用这个值。另外WM_USER在这里有什么意义?
小弟是新手,望高人指教。
{
DWORD dwPIDWatched;
if( dwCurrentPID == 0 )
{
dwCurrentPID = GetCurrentProcessId();
HWND hwndMainHook;
hwndMainHook = ::FindWindow( 0, "SockintoMain" );
dwPIDWatched = ::SendMessage( hwndMainHook, (WM_USER+100), 0, 0 );
hOldHook = (HHOOK)::SendMessage( hwndMainHook, (WM_USER+101), 0, 0 ); if(dwPIDWatched==dwPIDWatched)
………………………………………………MSDN上的解释是sendMessage返回值The return value specifies the result of the message processing; it depends on the message sent.我想知道这段程序他返回的是什么值。特别是dwPIDWatched和dwPIDWatched的比较需要利用这个值。另外WM_USER在这里有什么意义?
小弟是新手,望高人指教。
你定义的消息处理函数的返回值
如果是系统的,也同样
例如:
LRESULT OnMyMessage(WPARAM,LPARAM)
{
return 0;
}
那么就是0了
你定义的消息处理函数的返回值
如果是系统的,也同样
例如:
LRESULT OnMyMessage(WPARAM,LPARAM)
{
return 0;
}
那么就是0了
#define WM_USER 0x0400 //WM_USER 就是常量
SendMessage( hwndMainHook, (WM_USER+100), 0, 0 ); //向SockintoMain窗口发送消息ID为0x0400+100的消息。
这个消息是用户自定义消息。