GetCursorPos/WindowFromPoint/SendMessage (用API函数向Edit框发送字符)(转)
2008-07-18 10:58
495 查看
GetCursorPos/WindowFromPoint/SendMessage (用API函数向Edit框发送字符)
函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。
函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam);
参数:
hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。
Msg:指定被发送的消息。
wParam:指定附加的消息指定信息。
IParam:指定附加的消息指定信息。
返回值:返回值指定消息处理的结果,依赖于所发送的消息。
备注:需要用HWND_BROADCAST通信的应用程序应当使用函数RegisterWindowMessage来为应用程序间的通信取得一个唯一的消息。
如果指定的窗口是由调用线程创建的,则窗口程序立即作为子程序调用。如果指定的窗口是由不同线程创建的,则系统切换到该线程并调用恰当的窗口程序。线程间的消息只有在线程执行消息检索代码时才被处理。发送线程被阻塞直到接收线程处理完消息为止。
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: |
函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam);
参数:
hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。
Msg:指定被发送的消息。
wParam:指定附加的消息指定信息。
IParam:指定附加的消息指定信息。
返回值:返回值指定消息处理的结果,依赖于所发送的消息。
备注:需要用HWND_BROADCAST通信的应用程序应当使用函数RegisterWindowMessage来为应用程序间的通信取得一个唯一的消息。
如果指定的窗口是由调用线程创建的,则窗口程序立即作为子程序调用。如果指定的窗口是由不同线程创建的,则系统切换到该线程并调用恰当的窗口程序。线程间的消息只有在线程执行消息检索代码时才被处理。发送线程被阻塞直到接收线程处理完消息为止。
相关文章推荐
- GetCursorPos/WindowFromPoint/SendMessage (用API函数向Edit框发送字符)
- GetCursorPos/WindowFromPoint/SendMessage
- GetCursorPos/WindowFromPoint/SendMessage
- GetCursorPos WindowFromPoint GetlassName
- WindowFromPoint和GetCursorPos
- 易语言-API 取窗口或者组件句柄的 屏幕坐标并限制区域 GetWindowRect ClipCursor getwindowrect GetClientRect WindowFromPoint
- GetPixel GetRValue WM_GETTEXT WindowFromPoint ::GetClassName(WinHwnd,strClassName,255);
- IllegalStateExceptio: Couldn't read row * from CursorWindow due to CursorWindow.nativeGetLong
- vb用户定义类型未定义: Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long ;
- GetCursorPos(&ptPoint)问题???
- Get the window data(lamda,flux, true) from a center point and the window width
- 一个有意思的API——WindowFromPoint
- WindowFromPoint
- Get the metadata value using client object model from the sharepoint 2010
- E/CursorWindow: Failed to read row 0, column -1 from a CursorWindow which has 4 rows, 2 columns.
- Android中出现:Failed to read row 0, column -1 from a CursorWindow which has 1 rows, 5 columns异常
- Android SQLite 数据库 java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow异常
- GetCursorPos
- C#中使用GetCursorPos获取屏幕坐标
- GetClinetRect GetWindowRect ScreenToClient ClientToScreen GetCursorPos几个函数的正确使用