Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在另一个程序中获取插入符号所在的文本框的句柄。我所能找到的只是如何在带有“EnumChildWindows”的窗口中获取控件列表,然后搜索“编辑”控件..(它不适用于所有具有文本框的程序)。我不知道如何找到插入符号所在且用户正在写入的那个。我真的被它困住了.. :(thanx alot,Shiran。
你需要跳过几个 pinvoke 箍。从 GetForegroundWindow() 开始获取活动顶层窗口的句柄。然后 GetThreadWindowProcessId() 以获取拥有该窗口的线程的 ID。最后是GetGUIThreadInfo(),它返回一堆关于线程拥有的窗口的信息。GUITHREADINFO.hwndCaret 成员为您提供了拥有插入符号的窗口的句柄。顺便说一句,它不一定是文本框。
访问 pinvoke.net 获取您需要的声明。