GetCursorPos/WindowFromPoint/SendMessage (用API函数向Edit框发送字符)(转)

来源:互联网 发布:微盘涨跌根据什么数据 编辑:程序博客网 时间:2024/05/17 06:57
 GetCursorPos/WindowFromPoint/SendMessage (用API函数向Edit框发送字符)

GetCursorPos(mPoint);

DTWND:=WindowFromPoint(mPoint);

SendMessage(dtwnd, WM_IME_CHAR,ord('A'),1);

以上用到的三个函数介绍:
GetCursorPos:

     函数功能:该函数检取光标的位置,以屏幕坐标表示。

     函数原型:BOOL GetCursorPos(LPPOlNT IpPoint);

     参数:

     IpPint:POINT结构指针,该结构接收光标的屏幕坐标。

     返回值:如果成功,返回值非零;如果失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。

     备注:光标的位置通常以屏幕坐标的形式给出,它并不受包含该光标的窗口的映射模式的影响。该调用过程必须具有对窗口站的WINSTA_READATTRIBUTES访问权限。

     速查:Windows NT:3.1及以上版本:Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。

--------------------------------------------------------------------
WindowFromPoint:
     函数功能:该函数获得包含指定点的窗口的句柄。

     函数原型:HWND WindowFromPoint(POINT Point);

     参数:

     Point:指定一个被检测的点的POINT结构。

     返回值S:返回值为包含该点的窗口的句柄。如果包含指定点的窗口不存在,返回值为NULL。如果该点在静态文本控制之上,返回值是在该静态文本控制的下面的窗口。

     备注:WindowFromPoint函数不获取隐藏或禁止的窗口句柄,即使点在该窗口内。应用程序应该使用ChildWindowFromPoint函数进行无限制查询。

     速查:Windows NT:3.1以上版本:Windows:95以上版本;Windows CE:1.0以上版本:头文件:Winuser.h;库文件:user32.lib。

_____________________________________________________________________
SendMessage:

     函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。

     函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam);

     参数:

     hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。

     Msg:指定被发送的消息。

     wParam:指定附加的消息指定信息。

     IParam:指定附加的消息指定信息。

     返回值:返回值指定消息处理的结果,依赖于所发送的消息。

     备注:需要用HWND_BROADCAST通信的应用程序应当使用函数RegisterWindowMessage来为应用程序间的通信取得一个唯一的消息。

     如果指定的窗口是由调用线程创建的,则窗口程序立即作为子程序调用。如果指定的窗口是由不同线程创建的,则系统切换到该线程并调用恰当的窗口程序。线程间的消息只有在线程执行消息检索代码时才被处理。发送线程被阻塞直到接收线程处理完消息为止。

原创粉丝点击