Local nHwnd Declare Integer FindWindowEx In User32.dll Integer, Integer, String, Integer nHwnd = FindWindowEx(Thisform.hWnd, 0, 0, 0) Activate Screen ? "Thisform" ?? Decimal2hex(nHwnd) nHwnd = FindWindowEx(nHWnd, 0, "CrystalReports.CRViewer9.ReportAlbum"+Chr(0), 0) *nHwnd = FindWindowEx(nHWnd, 0, "ReportAlbum"+Chr(0), 0) Activate Screen ? "ReportAlbum" ?? Decimal2hex(nHwnd) nHwnd = FindWindowEx(nHWnd, 0, "CrystalReports.CRViewer9.ViewHolder"+Chr(0), 0) *nHwnd = FindWindowEx(nHWnd, 0, "ViewHolder"+Chr(0), 0) Activate Screen ? "ViewHolder" ?? Decimal2hex(nHwnd) Thisform.hTreeView = FindWindowEx(nHwnd, 0, "SysTreeView32"+Chr(0), 0) Activate Screen ? "SysTreeView" ?? Decimal2hex(Thisform.hTreeView) Thisform.hReportView = FindWindowEx(nHwnd, 0, "ATL:60084960"+Chr(0), 0) *Thisform.hReportView = FindWindowEx(nHwnd, 0, "ReportView"+Chr(0), 0) Activate Screen ? "ReportView" ?? Decimal2hex(Thisform.hReportView) InitHook(Thisform.hReportView, Thisform.hWnd) InitHook(Thisform.hTreeView, Thisform.hWnd)