c 做的网站,西安高端网页制作,建筑咨询公司是做什么的,ppt模板下载的网站Syslistview32和Systreeview32 是两个极其常用的系统控件#xff0c;一个是列表控件#xff0c;一个是树形框#xff0c;只要能随意操控这两个控件就能够从外部控制住大多应用到这两个控件的软件。 一开始是想要控制VS平台的列表框来操作自动进房间#xff0c;但是苦于没有…Syslistview32和Systreeview32 是两个极其常用的系统控件一个是列表控件一个是树形框只要能随意操控这两个控件就能够从外部控制住大多应用到这两个控件的软件。 一开始是想要控制VS平台的列表框来操作自动进房间但是苦于没有这样的插件只要自己动手做。 其实我本人是很不喜欢C这样的语言的但是碍于效率又没办法只好稍微触及一点可能我现在写完以后连自己写的是什么都不知道了 每次都需要自己手动操作内存啊什么的 真的很麻烦 这里给一段我写的返回选定列表个数的C代码 BSTR CQMPlugin::ReturnSelectedText(long hwnds, long col)
{CString strResult;HWND hwnd;hwnd(HWND)hwnds;int iItem0;LVITEM lvitem, *plvitem;//char ItemBuf[512],*pItem;
iItem::SendMessage(hwnd,LVM_GETNEXTITEM,-1,LVNI_SELECTED);GetWindowThreadProcessId(hwnd, PID);hProcessOpenProcess(PROCESS_ALL_ACCESS,false,PID);if(plvitemtempNULL){plvitemtemp(LVITEM*)VirtualAllocEx(hProcess, NULL, sizeof(LVITEM),MEM_COMMIT, PAGE_READWRITE);}plvitemplvitemtemp;if(pItemtempNULL){pItemtemp(char*)VirtualAllocEx(hProcess, NULL, 512, MEM_COMMIT, PAGE_READWRITE);}pItempItemtemp;lvitem.cchTextMax512;lvitem.iSubItemcol; //选定行的列lvitem.pszTextpItem;WriteProcessMemory(hProcess, plvitem, lvitem, sizeof(LVITEM), NULL);::SendMessage(hwnd, LVM_GETITEMTEXT, (WPARAM)iItem, (LPARAM)plvitem);ReadProcessMemory(hProcess, pItem, ItemBuf, 512, NULL);//VirtualFreeEx(hProcess, plvitem, 0, MEM_RELEASE);//释放内存strResult ItemBuf;CloseHandle(hProcess);return strResult.AllocSysString();
} 其实当初写的时候饶了好大个弯特别是去MSDN找资料的时候整个脑子都乱了程序还是会经常崩溃不过现在大体解决了基本上按照我上面的类推大家都可以写出外部操作其他 程序的列表框如发生双击到某一行获取某一行的名称等等这对自动化设计是非常有帮助的。 相比起列表框了树形框要难得多 下面给出展开某个节点的代码 void CQMPlugin::Expand(long hwnds, long node)
{HWND hwnd;hwnd(HWND)hwnds;TVITEM tvitem, *ptvitem;LPSTR pItem;GetWindowThreadProcessId(hwnd, PID);hProcessOpenProcess(PROCESS_ALL_ACCESS,false,PID);ptvitem(TVITEM *)VirtualAllocEx (hProcess, 0, sizeof(tvitem), MEM_COMMIT, PAGE_READWRITE);pItem (LPSTR)VirtualAllocEx(hProcess, NULL, 512, MEM_COMMIT, PAGE_READWRITE);HTREEITEM Child1 TreeView_GetFirstVisible(hwnd);for(int i0;i(int)node;i){Child1 TreeView_GetNextVisible(hwnd,Child1); }tvitem.maskTVIF_TEXT;tvitem.cchTextMax512;tvitem.pszTextpItem;tvitem.hItemChild1;// 获取到根节点WriteProcessMemory(hProcess, ptvitem, tvitem, sizeof(tvitem), NULL); //插入结构到指定进程
::SendMessage(hwnd, TVM_SELECTITEM,TVGN_CARET, (long)tvitem.hItem);//选中状态 ::SendMessage(hwnd, TVM_EXPAND,TVE_EXPAND, (long)tvitem.hItem);ReadProcessMemory(hProcess, pItem, ItemBuf, 512, NULL);VirtualFreeEx(hProcess,ptvitem, 0, MEM_RELEASE);//释放内存} 在写双击到特定节点的时候真心想破头都一直出错但是最终还是解决了然后用这两个给按键精灵写了几个自动化脚本挂到淘宝卖了 淘宝地址http://item.taobao.com/item.htm?id14813896324 http://item.taobao.com/item.htm?id12209949832 http://item.taobao.com/item.htm?id10201223499 不过最近没什么时间管理 所以都没怎么卖了以前卖的情况还算ok 挤房器大概卖了1000个左右VS广告器卖了45个11的卖了10个左右 不过大部分是我故意设槛 没时间卖 没办法。转载于:https://www.cnblogs.com/maybreath/archive/2012/08/04/2623032.html