コード例 #1
0
ファイル: MainWindow.xaml.cs プロジェクト: xxxxst/desktopDate
        //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);
        }