本文介绍了无法自动化/模拟listview单击另一个进程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
无法自动化/模拟listview点击其他进程
我正在开发自动化工具。我想以编程方式单击另一个进程的listview项目
。我已经部分成功(与非MFC一起工作但不使用MFC目标应用程序)。我的输出略有不同。我使用了NMITEMACTIVATE(我还在
$ b $中使用了PostMessage而不是SendMessage) b代码如下。
C ++,Win32
小代码细节:
NMITEMACTIVATE nmbh;
nmbh.hdr.code = NM_DBLCLK;
nmbh.hdr.hwndFrom = g_hWnd;
nmbh.hdr.idFrom = GetDlgCtrlID(g_hWnd);
nmbh.iItem = itemval;
nmbh.iSubItem = 0 ;
nmbh.uNewState = 0 ;
nmbh.uOldState = 0 ;
nmbh.uChanged = 0 ;
nmbh.uKeyFlags = 0 ;
SendMessage(GetParent(g_hWnd),WM_COPYDATA,(WPARAM)g_hWnd,(LPARAM)& nmbh);
解决方案
Cannot automate/simulate listview click of another process
I am developing an automation tool. I want to click listview item of another process
programatically. I have partially succeeded in doing(works with non-MFC but not working with MFC target application).I am getting a slightly different output.I used NMITEMACTIVATE(I have also used PostMessage Instead of SendMessage in the
code below).
C++,Win32
Small code detail:
NMITEMACTIVATE nmbh; nmbh.hdr.code = NM_DBLCLK; nmbh.hdr.hwndFrom=g_hWnd; nmbh.hdr.idFrom=GetDlgCtrlID(g_hWnd); nmbh.iItem=itemval; nmbh.iSubItem=0; nmbh.uNewState=0; nmbh.uOldState=0; nmbh.uChanged=0; nmbh.uKeyFlags=0; SendMessage(GetParent(g_hWnd), WM_COPYDATA,(WPARAM)g_hWnd,(LPARAM)&nmbh);
解决方案
这篇关于无法自动化/模拟listview单击另一个进程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!