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