API C#-如何获取插入符号位于另一个程序中的文本框的句柄?

API C#-如何获取插入符号位于另一个程序中的文本框的句柄?,c#,api,textbox,caret,C#,Api,Textbox,Caret,我想在另一个程序中获取插入符号所在文本框的句柄。我所能找到的就是如何在带有“EnumChildWindows”的窗口中获取控件列表,然后搜索“edit”控件。。(而且它并不适用于所有有文本框的程序)。 我不知道如何找到一个插入符号和用户正在写的。 我真的被它困住了( thanx alot, Shiran。您需要跳过几个pinvoke环。从GetForeGroundIndow()开始获取活动顶级窗口的句柄。然后GetThreadWindowProcessId()获取拥有该窗口的线程的ID。最后Ge

我想在另一个程序中获取插入符号所在文本框的句柄。我所能找到的就是如何在带有“EnumChildWindows”的窗口中获取控件列表,然后搜索“edit”控件。。(而且它并不适用于所有有文本框的程序)。 我不知道如何找到一个插入符号和用户正在写的。 我真的被它困住了( thanx alot,
Shiran。

您需要跳过几个pinvoke环。从GetForeGroundIndow()开始获取活动顶级窗口的句柄。然后GetThreadWindowProcessId()获取拥有该窗口的线程的ID。最后GetGuitThreadInfo(),它返回一组关于线程拥有的窗口的信息。GuitThreadInfo.hwndCaret成员为您提供拥有插入符号的窗口的句柄。顺便说一句,它不必是文本框

访问pinvoke.net获取您需要的声明