从注入的dll向进程窗口发送键盘消息的有关问题

从注入的dll向进程窗口发送键盘消息的问题
我写了一个带对话框资源的dll,用hook的方式注入到一个进程,然后在对话框上添加一个按钮,点击按钮的时候就向被注入的进程窗口发送键盘H按下的消息,可是不成功,用记事本测试,h没有输入进去。
哪位大侠帮忙看看问题在哪呢?
代码如下:

 HWND FindProcessWindow(DWORD processID)  
 {  
  s_hWnd = 0;  
  EnumWindows(EnumWindowsProc, processID);  
  return s_hWnd;  
 }
void CMainDlg::OnBnClickedButton1()
{
//TODO: 在此添加控件通知处理程序代码
DWORD a= ::GetCurrentProcessId();
FindProcessWindow(a);
if(s_hWnd==0)
{
::AfxMessageBox(TEXT("获取失败\n"));
}
else
{
::AfxMessageBox(TEXT("获取成功\n"));
}
::SendMessage(s_hWnd,WM_KEYDOWN,0,'H');
}

------解决方案--------------------
WM_KEYDOWN 
nVirtKey = (int) wParam; // virtual-key code 
lKeyData = lParam; // key data 


------解决方案--------------------
::SendMessage(s_hWnd,WM_KEYDOWN,0,'H');
s_hWnd是那来的? 使记事本窗体句柄吗?
如果是的话不行 要找到记事本的edit控件句柄才可以 只有这样发才有效 还有试着把大写H改成小写h
检查一下你的这句发送语句。