LRESULT SendMessageTimeout( HWND hWnd,
    UINT Msg,
    WPARAM wParam,
    LPARAM lParam,
    UINT fuFlags,
    UINT uTimeout,
    PDWORD_PTR lpdwResult
);
我也先声明,我没用过。

解决方案 »

  1.   

    是不是唯一的办法是自己实现个SendMessage()了,采用钩子技术。
      

  2.   

    考,居然还有这个函数,学习....谢谢dreamy
      

  3.   

    开个线程,在线程中SendMessage。
    在主线程中等待线程结束,并且计时,如果超时TerminateThread。呵呵,虽然可能计时不精确,Terminate容易造成资源泄漏不过也算一种方法吧。
      

  4.   

    LRESULT SendMessageTimeout( HWND hWnd,
        UINT Msg,
        WPARAM wParam,
        LPARAM lParam,
        SMTO_BLOCK
        UINT uTimeout, // 5毫秒
        PDWORD_PTR lpdwResult
    );