禅 语

痴 • 傻 • 疯 • 颠 • 狂
文章 - 14,收藏 - , 评论 - 36, trackbacks - 0

屏蔽media player 的右键菜单

采用子类化。替换窗口过程,拦截鼠标右键的消息。

static WNDPROC lpOldProc; //保存以前的窗口过程

WNDPROC  CTestMediaplayDlg::lpOldProc;

static LRESULT CALLBACK NewWindowProc(   /*新的窗口过程*/
  HWND hwnd,      // handle to window
  UINT uMsg,      // message identifier
  WPARAM wParam,  // first message parameter
  LPARAM lParam   // second message parameter
);

/*替换窗口过程*/
lpOldProc = (WNDPROC)SetWindowLong(m_player.GetSafeHwnd(),GWL_WNDPROC,(long)NewWindowProc);


LRESULT CALLBACK CTestMediaplayDlg::NewWindowProc(
  HWND hwnd,      // handle to window
  UINT uMsg,      // message identifier
  WPARAM wParam,  // first message parameter
  LPARAM lParam   // second message parameter
)
{
        switch(uMsg) //处理右键
 {
 case WM_RBUTTONDOWN:
  TRACE("TEST\n");
  return 0;
 case WM_RBUTTONUP:
  TRACE("TEST2\n");
  return 0;
 default:
  break;
 }
 return CallWindowProc(lpOldProc,hwnd,uMsg,wParam,lParam); //还原以前的窗口过程

  }



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=69736


[点击此处收藏本文]  发表于2004年08月16日 5:25 PM




正在读取评论……

发表评论

大名
网址
验证码
评论