Re: Re[2]: hWnd of cursor
- Posted by Greg Haberek <g.haberek at comcast.net> Mar 02, 2003
- 645 views
i'll take a copy.. ----- Original Message ----- From: aku saya <akusaya at gmx.net> Subject: Re[2]: hWnd of cursor Thanks very much, I was able to implement it. If someone wants the code, I will send it. ______________________________________________ >> I want to know what is the hWnd of the current typing cursor >> (only one at a time). >> >> Not only in my application, but also outside of it. >> >> How to get it? >> >> Thanks! >> D> The Windows API call you will need is called 'GetGUIThreadInfo'. With this, D> you can get the handle of the foreground (focus) control that has the D> current caret. D> Here some details from the Mircosoft SDK... D> GetGUIThreadInfo D> The GetGUIThreadInfo function retrieves information about the active window D> or a specified graphical user interface (GUI) thread. D> BOOL GetGUIThreadInfo( D> DWORD idThread, // thread identifier D> LPGUITHREADINFO lpgui // thread information D> ); D> Parameters D> idThread [in] Identifies the thread for which information is to be D> retrieved. To retrieve this value, use the GetWindowThreadProcessId D> function. If this parameter is NULL, the function returns information for D> the foreground thread. lpgui [out] Pointer to a GUITHREADINFO structure D> that receives information describing the thread. Note that you must set D> GUITHREADINFO.cbSize to sizeof(GUITHREADINFO) before calling this function. D> Return Values D> If the function succeeds, the return value is nonzero. D> If the function fails, the return value is zero. To get extended error D> information, call GetLastError. D> Remarks D> This function succeeds even if the active window is not owned by the D> calling process. If the specified thread does not exist or have an input D> queue, the function will fail. D> This function is useful for retrieving out-of-context information about a D> thread. The information retrieved is the same as if an application D> retrieved the information about itself. D> Requirements Windows NT/2000/XP: Included in Windows NT 4.0 SP3 and later. D> Windows 95/98/Me: Included in Windows 98 and later. D> Header: Declared in Winuser.h; include Windows.h. D> Library: Use User32.lib. D> The GUITHREADINFO structure contains information about a GUI thread. D> typedef struct tagGUITHREADINFO { D> DWORD cbSize; D> DWORD flags; D> HWND hwndActive; D> HWND hwndFocus; D> HWND hwndCapture; D> HWND hwndMenuOwner; D> HWND hwndMoveSize; D> HWND hwndCaret; D> RECT rcCaret; D> } GUITHREADINFO, *PGUITHREADINFO; D> Members D> cbSize Specifies the size of this structure, in bytes. The caller must set D> this to sizeof(GUITHREADINFO). flags Specifies the thread state. This D> member can be one or more of the following values. Value Meaning D> GUI_16BITTASK Windows XP: Represents the thread's application type. This D> bit is set if the thread corresponds to a 16-bit application. D> GUI_CARETBLINKING Represents the caret's blink state. This bit is set if D> the caret is visible. GUI_INMENU Represents the thread's menu state. This D> bit is set if the thread is in menu mode. GUI_INMOVESIZE Represents the D> thread's move state. This bit is set if the thread is in a move or size D> loop. GUI_POPUPMENUMODE Represents the thread's pop-up menu state. This D> bit is set if the thread has an active pop-up menu. GUI_SYSTEMMENUMODE D> Represents the thread's system menu state. This bit is set if the thread is D> in a system menu mode. D> hwndActive Handle to the active window within the thread. hwndFocus Handle D> to the window that has the keyboard focus. hwndCapture Handle to the window D> that has captured the mouse. hwndMenuOwner Handle to the window that owns D> any active menus. hwndMoveSize Handle to the window in a move or size loop. D> hwndCaret Handle to the window that is displaying the caret. rcCaret A RECT D> structure that describes the caret's bounding rectangle, in client D> coordinates, relative to the window specified by the hwndCaret member. TOPICA - Start your own email discussion group. FREE!