|
|
10精币
以下引用时在网上找的资料,不能贴地址,我就把内容贴出来吧:
昨晚研究的,我这里只是针对简单的树形框,做某邪恶软件用的.
本来以为简单的发生鼠标点击的消息就做得到,后来测试发现是行不通的,通过SPY++和MSDN分析就知道怎么做了.
先取得一个树形框控件的句柄
hPageTree = FindWindowExA(hDlg,NULL,"SysTreeView32","PageTree");
然后发送TVM_GETCOUNT来获取树形框的项目数
SendMessageA(hTree,TVM_GETCOUNT,0x0,0x0);
接下来比如要模拟点击第三个项目的话,可以先通过TVM_GETNEXTITEM传递TVGN_ROOT参数获得第一次项目,接下去不断通过TVM_GETNEXTITEM传TVGN_NEXT参数和上一个获得的句柄不断获得下一个,代码如下:
LRESULT hItem = 0;
hItem = SendMessageA(hPageTree,TVM_GETNEXTITEM,TVGN_ROOT,NULL);
hItem = SendMessageA(hPageTree,TVM_GETNEXTITEM,传,(LPARAM)hItem);
hItem = SendMessageA(hPageTree,TVM_GETNEXTITEM,TVGN_NEXT,(LPARAM)hItem);
SendMessageA(hPageTree,TVM_SELECTITEM,TVGN_CARET,(LPARAM)hItem);
我是新手,想实现模拟鼠标点击外部树形框,找了很长时间资料,貌似没有类似的例子啊,请高人们吧以上代码写成易语言行吗?我知道是API和一些常量,但是我用的不太熟,正一点点的学习着...
谢谢大家
还有一点,我现在可以做到打开指定的节点置现行选中项,就是可以选到那个项目,但是不会点击 |
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。 友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。 快捷通道:申请荣誉值 →
|