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_开头的函数)
2。找到TreeView所在的窗口的句柄,用FindWindow找
3。sendmessage发消息
你能否写详细,例如给每个分支发消息,如何定位
enumchildwindow
sendmessage
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_开头的函数)
如TreeView_GetItem,TreeView_GetNextVisible等等