本文介绍了无法自动化/模拟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单击另一个进程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-26 08:06