请教!

解决方案 »

  1.   

    用 VC 获取的代码通过SendMessage 来完成
    取得 ListView 的内容
      SendMessage(m_hWnd, LVM_GETITEMTEXT, (WPARAM)nItem, (LPARAM)&lvi)
      [IN]nItem 是行数,列数为 lvi.iSubItem,保存数据的缓冲区长度为 lvi.cchTextMax
      [OUT]取得的数据保存在 liv.pszText 中
      lvi 的类型为 LVITEM
    取得 TreeView 的内容
    CString CTreeCtrl::GetItemText(HTREEITEM hItem) const
    {
    ASSERT(::IsWindow(m_hWnd));
    TVITEM item;
    item.hItem = hItem;
    item.mask = TVIF_TEXT;
    CString str;
    int nLen = 128;
    int nRes;
    do
    {
    nLen *= 2;
    item.pszText = str.GetBufferSetLength(nLen);
    item.cchTextMax = nLen;
    ::SendMessage(m_hWnd, TVM_GETITEM, 0, (LPARAM)&item);
    nRes = lstrlen(item.pszText);
    } while (nRes == nLen-1);
    str.ReleaseBuffer();
    return str;
    }用 VB 有一定难度,因此用 VC 作成动态库来处理也许好做一些
      

  2.   

    高人啊!太谢谢了!可惜是VC和DEPHI的代码?哪位大侠能帮一下忙,翻译成VB的?
      

  3.   

    http://btmtz.mvps.org/vbexplorer/vbexplorer.zip参考一下这个老W写的资源管理器,就有你想要的答案
      

  4.   

    http://ms.mblogger.cn/supergreenbean/posts/5539.aspx
      

  5.   

    不好意思,刚刚按错键了。但是我用
    supergreenbean(超级绿豆 - 天气酷热,把我煮了熬汤吧)的代码,可以得到ListView控件的句柄,但得不到它的内容(ListView控件有内容,但我试验时得到的就是空,什么也没有),不知为什么?请教!
      

  6.   

    你是要取得其他程序中LV和TV的内容么?
      

  7.   

    打开我的程序点击 开始获得句柄,把鼠标移到显示结果的LV上面后按一下空格键停止获取句柄,接着点击 保存LV内容,这样就能把第1列的内容都保存到文件了因为我的程序只是个示例,所以只写了取得ListItem.Text,而没有写取得SubItem.Text的部分
      

  8.   

    我已经修改过例程了,现在可以保存LV中包括Subitem在内的所有内容了
      

  9.   

    可以了,是网络的问题,不知为什么这时很上去。太谢谢大侠了!不知大侠何时方便帮我看看那个treeview控件的内容怎么取得?请教!
      

  10.   

    操作也跟上面1样啊,无非把点击 保存LV内容改成点击 保存TV内容服务器好了是因为偶刚修理过,hoho~~
      

  11.   

    高人啊!
    昨晚回家太累了没有上网,今晚网络不正常,到现在才能上网,再一次感谢supergreenbean(超级绿豆 - 天气酷热,把我煮了熬汤吧) 的大力指导!
    祝福大侠一路平安!!!
    结帐!