【发布时间】:2010-09-17 15:38:59
【问题描述】:
我有一个从第三方 CRM 应用程序启动的 VB6 ActiveX exe。启动时,主窗体打开,但它开始闪烁,然后失去焦点。如果您移动表单,您将看到带有切换到、重试按钮的服务器繁忙屏幕。
我尝试在表单的 OnActivate 事件中使用 SetFocus 和 SetFocusAPI,但这不起作用。从其他应用启动时,如何让此表单获得焦点,有什么建议吗?
其他信息:
OnLoad 事件调用 SetWindowPos API 以使应用居中于调用应用并设置 HWND_TOPMOST。
其他信息:
活动窗口是正确的窗口(但它显然不在焦点上)
前台窗口是调用应用程序。 SetForegroundWindow 切换前台窗口,但立即返回到调用应用程序。直到我点击表格,表格才出现在前台。我正在调用表单的模块中的一个循环中尝试所有这些(而不是在调用应用程序中)。
【问题讨论】:
-
解决方案:使用 Mouse_event 模拟鼠标点击闪烁的窗体。