我现在做一个程序,里面需要这样的功能,就是在后台接收串口数据,同时向当前最前的(其它)程序窗口发送按键或者鼠标消息(移动、按键),该如何实现呢?

解决方案 »

  1.   

    SendMessage(WM_KEYDOWN,WM_KEYUP,WM_CHAR ...
    keybd_event
      

  2.   

    这个问题是进程之间的发消息,首先你要先得到你要发消息过去的那个窗口的句柄,然后通过这个窗口句柄找到你的进程句柄,(通过调用VirtualAlloc函数,可以在进程的地址空间中保留一个区域,然后将你的信息放到这个区域之内~~~)通过进程句柄得到存在地址空间中保留的信息
      

  3.   

    SendMessage用于向窗口发送消息,该函数说明如下:
    LRESULT SendMessage(
    HWND hWnd, //消息要发往的窗口的句柄
    UINT Msg, //要发送的消息
    WPARAM wParam, //消息的第一个参数
    LPARAM lParam //消息的第二个参数
    );::SendMessage(hwnd1,BN_CLICKED,0,0);//模拟按钮按下
    ::SendMessage(hwnd,WM_CHAR ,'0',0);//向某个edit输入字符