我发现自己正在使用GUI代码,其中GUI程序需要输入焦点并保持最顶层窗口,但每当我使用VS进行调试时,使用F5 / F10 / F11需要VS有焦点。
当debugee有焦点时,是否有可能让VS拦截F键?如果VS没有这个功能,我想应该可以编写一个简单的程序或带有键盘书的VS加载项并相应地命令调试器 - 有没有人开发过这样的程序?
我正在使用GUI测试自动化框架,通过移动光标发送鼠标点击和其他事件。当debugee程序失焦时,其表面上的任何点击都会使主窗口向前移动,但不会激活任何控件,但自动化框架会假定其应用程序的焦点永远不会被中断。因此,如果我在打开文件菜单的点击之前设置断点,那么发送的点击将只恢复debugee的焦点而不打开文件菜单(如果这是有意义的)。
我做了一些搜索,但没有立即找到任何东西。
答案 0 :(得分:1)
为什么需要保持专注?你在GotFocus / LostFocus中有特定的钩子吗?
我遇到问题之前,一旦F5被击中就调用了Paint事件,导致调试器再次显示,因此需要另一次重绘。我只是通过安排窗户来解决这些问题,因此它们没有重叠。我很确定LostFocus / GotFocus对也不会在这样安排窗户时触发。