鼠标点击在 win 10 中使用 VB6.0 开发的 winform 应用程序不起作用

问题描述

我需要一些关于我目前面临的问题的意见。应用程序随机不响应鼠标点击事件并继续运行,直到重新启动并且鼠标点击在其他应用程序上起作用。

申请简介:

该应用程序是在 VB 6.0 中开发的(我知道现在不支持 VB 6.0),它在 Win7 中运行良好。在Win10上运行的同一个应用程序随机出现这种奇怪的行为。

应用程序是 COM ActiveX Exe,它作为嵌入在显示 html 页面的表单上的 Web 浏览器控件。显示的 html 有按钮,用户使用鼠标单击按钮并导航到其他页面

我确定这不是驱动程序问题。

我面临的问题: 当鼠标点击 html 上的按钮时,它会导航到下一页。但是,有时鼠标点击 html 不会是动作,即它不会导航到下一个点。我不知道是什么触发了这种行为。直到应用程序重新启动,行为才会继续。

我使用 spy++ 工具来了解发送到应用程序的消息,我发现 Windows 消息在好的情况和坏的情况下是不同的。

我开始注意到很多 WM_SETCURSOR 消息

<00114> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00115> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00116> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00117> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00118> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00119> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00120> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00121> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00122> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00123> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00124> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00125> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00126> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00127> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00128> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00129> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00130> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00131> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00132> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00133> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00134> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00135> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00136> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00137> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]
<00138> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
<00139> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_MOUSEMOVE [wParam:000A0688 lParam:0200FFFE]

<00140> 000A0688 R WM_SETCURSOR fHaltProcessing:False [lResult:00000000]
**<00141> 000A0688 S WM_SETCURSOR hwnd:000A0688 nHittest:FFFE wMouseMsg:WM_LBUTTONDOWN [wParam:000A0688 lParam:0201 FFFE]** ```

从上面的消息中我看到有 WM_LBUTTONDOWN 条消息。

有关我们如何调查和了解导致问题的原因的任何指示/指南?

提前致谢。

-- 更新了日志以获得良好的案例。

00197> 00030808 S WM_WINDOWPOSCHANGING lpwp:0019BB64 [wParam:00000000 lParam:0019BB64]
<00198> 00030808 R WM_WINDOWPOSCHANGING lResult:00000000
<00199> 00030808 S WM_WINDOWPOSCHANGING lpwp:0019F08C [wParam:00000000 lParam:0019F08C]
<00200> 00030808 R WM_WINDOWPOSCHANGING lResult:00000000
<00201> 00030808 S WM_WINDOWPOSCHANGING lpwp:0019EDDC [wParam:00000000 lParam:0019EDDC]
<00202> 00030808 R WM_WINDOWPOSCHANGING lResult:00000000
<00203> 00030808 S WM_WINDOWPOSCHANGING lpwp:0019EC14 [wParam:00000000 lParam:0019EC14]
<00204> 00030808 R WM_WINDOWPOSCHANGING lResult:00000000
<00205> 00030808 S WM_CANCELMODE wParam:00000000 lParam:00000000
<00206> 00030808 R WM_CANCELMODE lResult:00000000
<00207> 00030808 S WM_ENABLE fEnable:False [wParam:00000000 lParam:00000000]
<00208> 00030808 R WM_ENABLE lResult:00000000
<00209> 00030808 S WM_ENABLE fEnable:True [wParam:00000001 lParam:00000000]
<00210> 00030808 R WM_ENABLE lResult:00000000
<00211> 00030808 S WM_NCACTIVATE fActive:False [wParam:00000000 lParam:00000000]
<00212> 00030808 R WM_NCACTIVATE fDeactivateOK:True [lResult:00000001]
<00213> 00030808 S WM_ACTIVATE fActive:WA_INACTIVE fMinimized:False hwndPrevIoUs:(null) [wParam:00000000 lParam:00000000]
<00214> 00030808 R WM_ACTIVATE lResult:00000001
<00215> 00030808 S WM_ACTIVATEAPP fActive:False dwThreadID:000014CC [wParam:00000000 lParam:000014CC]
<00216> 00030808 R WM_ACTIVATEAPP lResult:00000000
<00217> 00030808 S WM_PARENTNOTIFY fwEvent:WM_LBUTTONDOWN xPos:881 yPos:581 [wParam:00000201 lParam:02450371]
<00218> 00030808 R WM_PARENTNOTIFY lResult:00000000
<00219> 00030808 S ...WM_MOUSEACTIVATE hwndTopLevel:00030808 nHittest:HTCLIENT uMsg:WM_LBUTTONDOWN [wParam:00030808 lParam:02010001] ```
 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)