ok this is my final code:
i dint add the ProccessId check yet tho.
completly resolved. thanks for your help arjay!
Code:if(::GetWindow(hWnd, GW_OWNER) || !::IsWindowVisible(hWnd) || !(::GetWindowLong(hWnd, GWL_STYLE) & WS_CAPTION)) return TRUE; HICON hIcon = (HICON)::SendMessage(hWnd, WM_GETICON, ICON_BIG, 0); if(!hIcon) hIcon = (HICON)::GetClassLong(hWnd, GCL_HICON); HICON hIconSm = (HICON)::SendMessage(hWnd, WM_GETICON, ICON_SMALL, 0); if(!hIconSm) hIconSm = (HICON)::GetClassLong(hWnd, GCL_HICONSM); int iX = GView.ImageList.Add(hIcon ? hIcon : hIconSm); if(iX < 0) return TRUE; GView.ImageListSmall.Add(hIconSm ? hIconSm : hIcon); LPTSTR sText = NULL; int iY = ::GetWindowTextLength(hWnd) + 1; if(iY > 1) { sText = new TCHAR[iY]; ::GetWindowText(hWnd, sText, iY); } iY = GView.InsertItem(sText, iX); if(iY >= 0) if(::IsHungAppWindow(hWnd)) GView.SetItem(iY, 1, "Hanging"); else GView.SetItem(iY, 1, "Running"); if(sText) delete[] sText; return TRUE;


Reply With Quote