欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#利用Windows自帶gdi32.dll實現(xiàn)抓取屏幕功能實例

 更新時間:2014年08月25日 15:55:26   投稿:shichen2014  
這篇文章主要介紹了C#利用Windows自帶gdi32.dll實現(xiàn)抓取屏幕功能,是C#程序設(shè)計中常見的一個重要技巧,需要的朋友可以參考下

本文實例講述了C#利用Windows自帶gdi32.dll實現(xiàn)抓取屏幕功能,是C#應用程序設(shè)計中一個非常實用的功能,現(xiàn)分享給大家供大家參考借鑒。

具體功能代碼如下:

internal static void GetScreenShot( )
{
  //獲得當前屏幕的大小 
  Rectangle rect = new Rectangle();
  rect = Screen.AllScreens[0].WorkingArea;
   
  //計算圖片的大小,因為圖片的長和寬有可能超過目前屏幕的大小 
  //創(chuàng)建一個以當前屏幕為模板的圖象 
  Control ctl = new Control();
  Graphics g1 = ctl.CreateGraphics();
  //創(chuàng)建以屏幕大小為標準的位圖 
  Image MyImage = new Bitmap(rect.Width ,rect .Height, g1);

  Graphics g2 = Graphics.FromImage(MyImage);
  //得到屏幕的DC 
  IntPtr dc1 = g1.GetHdc();
  //得到Bitmap的DC 
  IntPtr dc2 = g2.GetHdc();
  //調(diào)用此API函數(shù),實現(xiàn)屏幕捕獲 

  BitBlt(dc2, 0, 0, rect.Width, rect.Height, dc1, 0, 0, 13369376);
  //釋放掉屏幕的DC 
  g1.ReleaseHdc(dc1);
  //釋放掉Bitmap的DC 
  g2.ReleaseHdc(dc2);
  //以JPG文件格式來保存 
  //Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);
  //return MyImage.GetThumbnailImage(control.Width, control.Height, myCallback, IntPtr.Zero);
  MyImage.Save("D:\\aa.jpg");
 
}
[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]
private static extern bool BitBlt(
 IntPtr hdcDest,  //目標設(shè)備的句柄
 int nXDest,    //目標對象的左上角的X坐標
 int nYDest,    //目標對象的左上角的X坐標
 int nWidth,    //目標對象的矩形的寬度
 int nHeight,    //目標對象的矩形的長度
 IntPtr hdcSrc,   //源設(shè)備的句柄
 int nXSrc,     //源對象的左上角的X坐標
 int nYSrc,     //源對象的左上角的X坐標
 System.Int32 dwRop //光柵的操作值
);

希望本文C#抓取屏幕實例對大家的C#程序設(shè)計有所幫助。

相關(guān)文章

  • C#實現(xiàn)鼠標裁剪圖像功能

    C#實現(xiàn)鼠標裁剪圖像功能

    這篇文章主要為大家詳細介紹了C#實現(xiàn)鼠標裁剪圖像功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 重寫、隱藏基類(new, override)的方法

    重寫、隱藏基類(new, override)的方法

    重寫、隱藏基類(new, override)的方法,需要的朋友可以參考一下
    2013-03-03
  • C#?迭代器分部類與索引器詳情

    C#?迭代器分部類與索引器詳情

    這篇文章主要介紹了C#迭代器分部類與索引器詳情,迭代器?迭代器解決的是集合訪問的問題,提供一種方法順序訪問一個集合對象中的各個元素,而不暴露對象內(nèi)部標
    2022-07-07
  • C#中的lock、Monitor、Mutex學習筆記

    C#中的lock、Monitor、Mutex學習筆記

    這篇文章主要介紹了C#中的lock、Monitor、Mutex學習筆記,本文講解的都是線程同步的一些知識,需要的朋友可以參考下
    2015-01-01
  • C#定時器和隨機數(shù)

    C#定時器和隨機數(shù)

    在前一篇中我們介紹了鍵盤和鼠標事件,其實還有一個非常常用的事件,就是定時器事件,如果要對程序?qū)崿F(xiàn)時間上的控制,那么就要使用到定時器。而隨機數(shù)也是很常用的一個功能,在我們要想產(chǎn)生一個隨機的結(jié)果時就要使用到隨機數(shù)。本文我們就來簡單介紹一下定時器和隨機數(shù)。
    2015-06-06
  • 簡單掌握Windows中C#啟動外部程序進程的方法

    簡單掌握Windows中C#啟動外部程序進程的方法

    這篇文章主要介紹了Windows中C#啟動外部程序進程的方法,例子中同時包括了進程關(guān)閉的方法,需要的朋友可以參考下
    2016-03-03
  • C#泛型和反射實例解析

    C#泛型和反射實例解析

    這篇文章主要介紹了C#泛型和反射實例解析,對于C#初學者理解泛型和反射有很好的幫助借鑒作用,需要的朋友可以參考下
    2014-08-08
  • c# Thread類的用法詳解

    c# Thread類的用法詳解

    這篇文章主要介紹了c# Thread類的用法的相關(guān)資料,幫助大家更好的理解和學習c#的相關(guān)知識,感興趣的朋友可以了解下
    2020-11-11
  • C#實現(xiàn)中英文混合字符串截取的方法

    C#實現(xiàn)中英文混合字符串截取的方法

    這篇文章主要介紹了C#實現(xiàn)中英文混合字符串截取的方法,是C#字符串操作的常用方法,需要的朋友可以參考下
    2014-08-08
  • 解析如何使用反射調(diào)用類型成員 方法,字段,屬性

    解析如何使用反射調(diào)用類型成員 方法,字段,屬性

    本篇文章是對使用反射調(diào)用類型成員 方法,字段,屬性進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06

最新評論