0

我正在使用 WinForms,并且试图让 SetNotifyWindowMessage() 向 WndProc 发送消息,但它没有这样做。

函数调用:

HRESULT initSAPI(HWND hWnd)
{
  ...
  if(FAILED( g_cpRecoCtxt->SetNotifyWindowMessage( hWnd, WM_RECOEVENT, 0, 0 )))
    MessageBoxW(hWnd, L"Error sending window message", L"SAPI Initialization Error", 0);
  ...
}

WndProc:

LRESULT WndProc (HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam)
{
   case WM_RECOEVENT:
      ProcessRecoEvent(hWnd);
      break;
   default:
      return DefWindowProc(hWnd, message, wParam, lParam);
}

注意:initSAPI() 在鼠标点击事件上被调用。

4

1 回答 1

0

你也调用过 ISpRecoContext::SetInterest吗?SetNotifyWindowMessage 指定事件发生时要做什么,但不指定要侦听的事件。

于 2010-04-14T18:14:27.147 回答