//private int count = 0; public bool enumWindowsProc(IntPtr hwnd, IntPtr lParam) { int size = 255; StringBuilder lpClassName = new StringBuilder(size); ComUtil.GetClassName(hwnd, lpClassName, lpClassName.Capacity); string text = lpClassName.ToString(); if (!text.Contains("WorkerW")) { return(true); } //if (!text.Contains("WorkerW") && !text.Contains("Progman")) { // return true; //} //++count; //if(count < 12) { // Debug.WriteLine("aa:" + count); // return true; //} IntPtr pWnd = hwnd; pWnd = ComUtil.FindWindowEx(hwnd, IntPtr.Zero, "SHELLDLL_DefView", null); if (pWnd == IntPtr.Zero) { return(true); } pWnd = ComUtil.FindWindowEx(pWnd, IntPtr.Zero, "SysListView32", null); if (pWnd == IntPtr.Zero) { return(true); } //isFindWindow = true; IntPtr Handle = new WindowInteropHelper(GetWindow(this)).Handle; ComUtil.SetParent(Handle, pWnd); return(false); }
private void appendToWindow() { IntPtr Handle = new WindowInteropHelper(this).Handle; //隐藏边框 int oldstyle = ComUtil.GetWindowLong(Handle, ComUtil.GWL_STYLE); ComUtil.SetWindowLong(Handle, ComUtil.GWL_STYLE, oldstyle & (~(ComUtil.WS_CAPTION | ComUtil.WS_CAPTION_2)) | ComUtil.WS_EX_LAYERED); //不在Alt+Tab中显示 int oldExStyle = ComUtil.GetWindowLong(Handle, ComUtil.GWL_EXSTYLE); ComUtil.SetWindowLong(Handle, ComUtil.GWL_EXSTYLE, oldExStyle & (~ComUtil.WS_EX_APPWINDOW) | ComUtil.WS_EX_TOOLWINDOW); //win7 if (Environment.OSVersion.Version.Major <= 6.1) { return; } IntPtr pWnd = ComUtil.FindWindow("Progman", null); if (pWnd != IntPtr.Zero) { IntPtr pWnd2 = ComUtil.FindWindowEx(pWnd, IntPtr.Zero, "SHELLDLL_DefView", null); if (pWnd2 != IntPtr.Zero) { ComUtil.SendMessage(pWnd, 0x052c, IntPtr.Zero, IntPtr.Zero); } else { //SendMessage(pWnd, 0x052c, (IntPtr)1, IntPtr.Zero); } } enumWinCallBack = new ComUtil.CallBack(enumWindowsProc); ComUtil.EnumWindows(enumWinCallBack, IntPtr.Zero); }