hi hutch,
thank you very much for your time...
i have solved the problem last night...
SearchTreeItem proc searchBy:DWORD,pParam:DWORD,startItem:DWORD
local hItem:HTREEITEM
local hItemChild:HTREEITEM
local hItmFound:HTREEITEM
local itm:TV_ITEM
push startItem
pop hItem
.while hItem != NULL
push hItem
pop itm.hItem
push TVIF_PARAM + TVIF_CHILDREN
pop itm._mask
invoke SendMessage,hWdTree,TVM_GETITEM,0,addr itm
mov eax,pParam
.if itm.lParam == eax
mov eax,hItem
ret
.elseif itm.cChildren == TRUE
invoke SendMessage,hWdTree,TVM_GETNEXTITEM,TVGN_CHILD,hItem
mov hItemChild,eax
invoke SearchTreeItem,NULL,pParam,hItemChild
mov hItmFound,eax
.if hItmFound != NULL
mov eax,hItmFound
ret
.endif
.endif
invoke SendMessage,hWdTree,TVM_GETNEXTITEM,TVGN_NEXT,hItem
mov hItem,eax
inc itmcnt
.endw
xor eax,eax
ret
SearchTreeItem endp
searchBy isn't yet implemented but is easy to guess...
tkx and bye
5k3l3t0r