Re[4]: hWnd of cursor
- Posted by aku saya <akusaya at gmx.net> Mar 02, 2003
- 891 views
------------80221F3BB783F9 Here it is. You can add it to the library freely. main library: kontrolaktif.e main function: kontrolAktif() returns: {function return value, flags, hwndActive, hwndFocus, hwndCapture, hwndMenuOwner, hwndMoveSize, hwndCaret } Rob: please add it to user contrib too. Thanks! btw Anyone in this list who uses Windows 95? ______________________________________________ D> On Sun, 02 Mar 2003 00:45:30 -0500, Greg Haberek <g.haberek at comcast.net> D> wrote: >> >> i'll take a copy.. >> D> Me too. I'll add it to the library, if that's okay. >> ----- Original Message ----- From: aku saya <akusaya at gmx.net> >> To: EUforum <EUforum at topica.com> >> Sent: Saturday, March 01, 2003 11:19 AM >> 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 D> <snip> >> >> ------------80221F3BB783F9 Content-Type: application/x-zip-compressed; name="kontrolaktif.zip"