C#

2011-04-01 13 views
5

Hii ... WIN CE5.0 cihaz ekranında çalışan uygulamanın ekran görüntüsünü almanın bir yolu var mı? peşin Thanxxx ....C#

cevap

5

Kullanım OpenNETCF sdf

http://blog.opennetcf.com/ctacke/2009/03/11/ScreenCaptureInTheCompactFramework.aspx

// create a bitmap and graphics objects for the capture 
Drawing.Bitmap destinationBmp = new Drawing.Bitmap(Forms.Screen.PrimaryScreen.Bounds.Width, Forms.Screen.PrimaryScreen.Bounds.Height); 
Drawing.Graphics g = Drawing.Graphics.FromImage(destinationBmp); 
GraphicsEx gx = GraphicsEx.FromGraphics(g); 

// capture the current screen 
gx.CopyFromScreen(0, 0, 0, 0, Forms.Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); 

// save the file 
destinationBmp.Save(filename, System.Drawing.Imaging.ImageFormat.Png); 

// clean house 
gx.Dispose(); 
g.Dispose(); 
destinationBmp.Dispose(); 
6
using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Runtime.InteropServices; 
using System.Windows.Forms; 
using System.Drawing; 
using System.Drawing.Imaging; 

namespace ScreenShot 
{ 
    public class Program 
    { 
     enum RasterOperation : uint { SRC_COPY = 0x00CC0020 } 

     [DllImport("coredll.dll")] 
     static extern int BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, RasterOperation rasterOperation); 

     [DllImport("coredll.dll")] 
     private static extern IntPtr GetDC(IntPtr hwnd); 

     [DllImport("coredll.dll")] 
     private static extern int ReleaseDC(IntPtr hwnd, IntPtr hdc); 

     static void Main(String[] args) 
     { 
      Rectangle bounds = Screen.PrimaryScreen.Bounds; 
      IntPtr hdc = GetDC(IntPtr.Zero); 
      Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height, PixelFormat.Format16bppRgb565); 
      using (Graphics graphics = Graphics.FromImage(bitmap)) 
      { 
       IntPtr dstHdc = graphics.GetHdc(); 
       BitBlt(dstHdc, 0, 0, bounds.Width, bounds.Height, hdc, 0, 0, 
       RasterOperation.SRC_COPY); 
       graphics.ReleaseHdc(dstHdc); 
      } 
      bitmap.Save("screenshot.jpg", ImageFormat.Jpeg); 
      ReleaseDC(IntPtr.Zero, hdc); 
     } 
    } 
} 
+0

Büyük kod! Teşekkürler! – VictorEspina