• 截透明


    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Runtime.InteropServices;
    using System.Drawing;

    namespace CSharpWin
    {
        /* 作者:Starts_2000
         * 日期:2009-09-08
         * 网站:http://www.csharpwin.com/ CS 程序员之窗。
         * 你可以免费使用或修改以下代码,但请保留版权信息。
         * 具体请查看 CS程序员之窗开源协议(http://www.csharpwin.com/csol.html)。
         */

        internal class NativeMethods
        {
            public const int WS_EX_TRANSPARENT = 0x00000020;

            [DllImport("user32.dll")]
            public static extern bool ClipCursor(ref RECT lpRect);

            [DllImport("user32.dll")]
            public static extern IntPtr GetDesktopWindow();

            [DllImport("user32.dll")]
            public static extern IntPtr GetDC(IntPtr ptr);

            [DllImport("user32.dll")]
            public static extern int ReleaseDC(IntPtr hwnd, IntPtr hDC);

            [DllImport("gdi32.dll")]
            public static extern bool BitBlt(
                IntPtr hObject, int nXDest, int nYDest, int nWidth,
               int nHeight, IntPtr hObjSource, int nXSrc, int nYSrc,
                TernaryRasterOperations dwRop);

            [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
            public static extern IntPtr LoadLibrary(string lpFileName);

            [StructLayout(LayoutKind.Sequential)]
            public struct RECT
            {
                public int Left;
                public int Top;
                public int Right;
                public int Bottom;

                public RECT(int left, int top, int right, int bottom)
                {
                    Left = left;
                    Top = top;
                    Right = right;
                    Bottom = bottom;
                }

                public RECT(Rectangle rect)
                {
                    Left = rect.Left;
                    Top = rect.Top;
                    Right = rect.Right;
                    Bottom = rect.Bottom;
                }

                public Rectangle Rect
                {
                    get
                    {
                        return new Rectangle(
                            Left,
                            Top,
                            Right - Left,
                            Bottom - Top);
                    }
                }

                public Size Size
                {
                    get
                    {
                        return new Size(Right - Left, Bottom - Top);
                    }
                }

                public static RECT FromXYWH(int x, int y, int width, int height)
                {
                    return new RECT(x,
                                    y,
                                    x + width,
                                    y + height);
                }

                public static RECT FromRectangle(Rectangle rect)
                {
                    return new RECT(rect.Left,
                                     rect.Top,
                                     rect.Right,
                                     rect.Bottom);
                }
            }

            public enum TernaryRasterOperations
            {
                SRCCOPY = 0x00CC0020, /* dest = source*/
                SRCPAINT = 0x00EE0086, /* dest = source OR dest*/
                SRCAND = 0x008800C6, /* dest = source AND dest*/
                SRCINVERT = 0x00660046, /* dest = source XOR dest*/
                SRCERASE = 0x00440328, /* dest = source AND (NOT dest )*/
                NOTSRCCOPY = 0x00330008, /* dest = (NOT source)*/
                NOTSRCERASE = 0x001100A6, /* dest = (NOT src) AND (NOT dest) */
                MERGECOPY = 0x00C000CA, /* dest = (source AND pattern)*/
                MERGEPAINT = 0x00BB0226, /* dest = (NOT source) OR dest*/
                PATCOPY = 0x00F00021, /* dest = pattern*/
                PATPAINT = 0x00FB0A09, /* dest = DPSnoo*/
                PATINVERT = 0x005A0049, /* dest = pattern XOR dest*/
                DSTINVERT = 0x00550009, /* dest = (NOT dest)*/
                BLACKNESS = 0x00000042, /* dest = BLACK*/
                WHITENESS = 0x00FF0062, /* dest = WHITE*/
                CAPTUREBLT = 0x40000000,//截透明图
            }
        }
    }

  • 相关阅读:
    python ConfigParser、shutil、subprocess、ElementTree模块简解
    python中getattr函数 hasattr函数
    对简历的一点看法
    信息过载下的时间管理
    沉默的QQ
    想把余生变诗篇
    你的薪水偏高了吗?
    写给三十五岁的自己
    传统企业对互联网的痴心妄想
    小二,换大碗!
  • 原文地址:https://www.cnblogs.com/superstar/p/1748455.html
Copyright © 2020-2023  润新知