Пример #1
0
        //获取顶置窗口句柄的截图并返回截图文件的路径
        public string GetActiveWindowImageUrl()
        {
            const int     nChars = 256;
            StringBuilder Buff   = new StringBuilder(nChars);
            IntPtr        handle = GetForegroundWindow();

            var rect = new User32.Rect();

            User32.GetWindowRect(handle, ref rect);

            int width  = rect.right - rect.left;
            int height = rect.bottom - rect.top;

            var      bmp      = new Bitmap(width, height, PixelFormat.Format32bppArgb);
            Graphics graphics = Graphics.FromImage(bmp);

            graphics.CopyFromScreen(rect.left, rect.top, 0, 0, new Size(width, height), CopyPixelOperation.SourceCopy);

            string guid = Guid.NewGuid().ToString();
            //Test 获取当前桌面的相对地址
            string desktopUrl = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);

            bmp.Save(desktopUrl + guid + ".png", ImageFormat.Png);
            string windowsImageUrl = desktopUrl + guid + ".png";

            return(windowsImageUrl);
        }
Пример #2
0
        //通过进程名称获取当前进程中主线程的截图
        public static void GetActiveWindowImage(string procName)
        {
            var proc = Process.GetProcessesByName(procName)[0];
            var rect = new User32.Rect();

            User32.GetWindowRect(proc.MainWindowHandle, ref rect);
            int width  = rect.right - rect.left;
            int height = rect.bottom - rect.top;

            var      bmp      = new Bitmap(width, height, PixelFormat.Format32bppArgb);
            Graphics graphics = Graphics.FromImage(bmp);

            graphics.CopyFromScreen(rect.left, rect.top, 0, 0, new Size(width, height), CopyPixelOperation.SourceCopy);

            string guid = Guid.NewGuid().ToString();

            bmp.Save(@"C:\Users\Enz\Desktop\" + guid + ".png", ImageFormat.Png);
        }
Пример #3
0
        //获取顶置窗口句柄的截图
        public void GetActiveWindowImage()
        {
            const int     nChars = 256;
            StringBuilder Buff   = new StringBuilder(nChars);
            IntPtr        handle = GetForegroundWindow();

            var rect = new User32.Rect();

            User32.GetWindowRect(handle, ref rect);

            int width  = rect.right - rect.left;
            int height = rect.bottom - rect.top;

            var      bmp      = new Bitmap(width, height, PixelFormat.Format32bppArgb);
            Graphics graphics = Graphics.FromImage(bmp);

            graphics.CopyFromScreen(rect.left, rect.top, 0, 0, new Size(width, height), CopyPixelOperation.SourceCopy);

            string guid = Guid.NewGuid().ToString();

            bmp.Save(@"C:\Users\Enz\Desktop\" + guid + ".png", ImageFormat.Png);
        }