日期:2014-05-17  浏览次数:20797 次

c#关于外部ListView操作 求围观 ----------------求大神
有几个疑惑的点
1.spy++能获取到列表项。但选择既卡死
2.怎么获取每一项所在的坐标 和内容   比如输入  2行 3列  怎么获取其坐标和里面的值
3.右键菜单怎么可以触发(除了鼠标移动至指定位置,然后发送右键消息)

在网上找了很久 很多都是木有用的。还有一些是会卡死的。
求解。。。。
C# listview 鼠标 winform winapi

------解决方案--------------------
打破零回复。lz最好把问题说详细点。
------解决方案--------------------
选择卡死,应该是项的Handle不对
每个控件都有自己的Handle
GetDlgItem(IDD) 参数是控件的非托管标识
http://technet.microsoft.com/zh-cn/library/aa249320
http://www.cnblogs.com/web100/archive/2012/09/12/getdlgitem.html

到VC版去问可能更有帮助
------解决方案--------------------

------解决方案--------------------
看结果的。。最近也遇到该问题

------解决方案--------------------
spy++能获取到列表项。但选择既卡死?
是SPY++卡死还是你自己的程序卡死?很模糊

可以使用
Process[] p = Process.GetProcesses();
取到所有进程
你不是要用ListView来放么?列表中的项和进程一一对应即可,比如第一项句柄
p[0].Handle

你右击哪项,就传哪项的索引,有什么问题么?
------解决方案--------------------
完整引用
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcesses();

第二问,应该没有问题了吧,我们是直接对进程数组操作,和鼠标位置无关,鼠标点到谁传谁。

第三问,你的右键菜单是什么?是自己写的菜单还是调用其他程序的菜单?请详述。
------解决方案--------------------
因为你是第三方软件的控件明细,这个有些难度,因为只能拿到控件句柄,只是ListView句柄而已,要获取内容句柄,正常的做法是找到偏移量,像很多游戏修改器一样。然而这些地址基本上无规律可循,没有通用性。