为什么SAPI的ISpNotifySource :: SetNotifyWindowMessage()没有将通知发送到我的WndProc()?

时间:2010-04-13 04:18:47

标签: winforms dll callback speech-recognition wndproc

我正在使用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()。

1 个答案:

答案 0 :(得分:0)

您是否也曾致电ISpRecoContext::SetInterest? SetNotifyWindowMessage指定事件发生时要执行的操作,但不指定要侦听的事件。