gpt4 book ai didi

c# - VS 2013 Quick Find 在切换到我的应用程序时失去焦点 - 如何以编程方式保存/恢复它?

转载 作者:太空宇宙 更新时间:2023-11-03 15:53:50 25 4
gpt4 key购买 nike

我开发了一个 C# 剪贴板应用程序,它存储多个“剪辑”供以后使用。我使用低级键盘 Hook 根据命令弹出打开我的应用程序的窗口。当窗口关闭(或双击剪辑)时,应该将所选剪辑粘贴到最后一个事件窗口(我的应用程序窗口之前的窗口)。我使用低级 WINAPI 方法来确定最后一个事件的应用程序,捕获它的句柄,然后将焦点返回到它,然后模拟 Ctrl+V 击键进行粘贴。

这通常适用于一个非常独特的场景:我在一个 WPF 应用程序项目中,在 XAML 文件中快速查找,光标自动切换到正文文本,而不是快速查找文本框,并将其粘贴到那里。它似乎与失去焦点/激活有关,因为每当我激活另一个窗口时它都会移动光标,而不管我自己的应用程序是否正在运行。

VB 文件,C# 文件,你有什么,在 WinForm 项目中打开的 XAML 在 VS2013 应用程序和我自己的应用程序之间切换时不会窃取快速查找焦点;返回到上一个事件的应用程序后,文本将粘贴到“快速查找”框中。

只有 WPF 应用程序项目中的 XAML 会给我这个问题。

到目前为止。我知道这是一个边缘案例,但我预计会遇到更多。该程序旨在用于编码环境,能够处理此类场景非常重要。

我尝试使用来自 http://www.codeproject.com/Articles/34752/Control-in-Focus-in-Other-Processes 的代码获取内部控制句柄, 这样我就可以将焦点返回到它,但正文的句柄和快速查找文本框的句柄似乎是相同的。

最佳答案

部分解决方案位于:How do I prevent the original form from losing focus when I show another form?我使用的弹出窗口主要通过我的低级快捷方式导航,因此不需要显式激活。

在它或我的任何其他窗口上使用鼠标(我希望我的用户有时会这样做),将导致它获得激活并绕过此修复程序。然而,这是一个边缘案例,似乎并不重要。希望这可以帮助处于类似情况的任何人(如果不一定是这个)。

关于c# - VS 2013 Quick Find 在切换到我的应用程序时失去焦点 - 如何以编程方式保存/恢复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24641962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com