如何给另一个exe文件的TreeView发送消息,
给每个目录发送单击、双击事件

解决方案 »

  1.   

    1。在TreeView所在的窗口中定义消息函数,用来接收消息,在该函数中操作树中相应的事件
    2。找到TreeView所在的窗口的句柄,用FindWindow找
    3。sendmessage发消息
      

  2.   

    sendmessage发消息
    你能否写详细,例如给每个分支发消息,如何定位
      

  3.   

    findwindow,
    enumchildwindow
    sendmessage
      

  4.   

    uses
      commctrl;写了个小例子var
      h: HWND;
      hItem: HTREEITEM;
      pitem: tagTVITEM;
    begin
      h := FindWindow(nil,'桌面');
      if (h <> 0) then
      begin
        h := FindWindowEx(h,0,'BaseBar',nil);
        if (h <> 0) then
        begin
          h := FindWindowEx(h,0,'ReBarWindow32',nil);
          if h<> 0 then
          begin
            h := findwindowex(h,0,'SysTreeView32',nil);
            if h <> 0 then
            begin
              hitem := TreeView_GetFirstVisible(h);
              while (hitem <> nil) do
              begin
                TreeView_Expand(h,hitem,TVE_EXPAND);
                hitem := TreeView_GetNextVisible(h,hitem);
              end;
            end;
          end;
        end;
      end;
    end;
    展开自愿浏览器的treeview
    commctrl单元里面有很多关于Treeview操作的函数,有时间可以看看(以TreeView_开头的函数)
      

  5.   

    看一下dephi下的CommCtrl单元,里面定义了很多操作TreeView的宏
    如TreeView_GetItem,TreeView_GetNextVisible等等