Asp.Net教程,WinForm教程,Asp.Net MVC,vs2008教程,vs2010教程,Silverlight技术,源码下载,Asp.Net视频教程
全站热门标签
vs2010 Silverlight 存储过程 水晶报表 ADO.NET JavaScript LINQ AjaxPro DataGridView 面向对象 Extjs GridView XML DevExpress HTML教程 Oracle jQuery 分页 GDI+ Visual C++2010 MySQL Office2010 WPF MVC Dojo WCF4.0 VB.NET Sql2005 textbox cookie WCF WinForm Discuz!NT SQL经典语句 T-SQL checkbox ASPxGridView F# asp.net SQL VS2008新特性 DropDownList Access TreeView Ajax VS2008 页面执行时间 Flex 字符串 回调 VB2005 DataSet C#时间 ASP.NET性能优化 用户在线检测 动画
Framework C#技术VB.NET VC.NET WCF WPF
当前位置: 主页 > WinForm教程 > VB.NET >

用VB.NET2008编写屏幕抓捕程序(2)

时间:2010-06-29 23:51来源:未知 作者:admin 点击:

首先进行声明:  

  Imports System.Runtime.InteropServices

  Imports System.Drawing.Imaging  

  Public Class Form1  

   _

   Private Shared Function BitBlt(ByVal hdcDest As IntPtr, ByVal nXDest As Integer, ByVal nYDest As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hdcSrc As IntPtr, _

   ByVal nXSrc As Integer, ByVal nYSrc As Integer, ByVal dwRop As Integer) As Boolean

   End Function  

   _

   Private Shared Function CreateDC(ByVal lpszDriver As String, ByVal lpszDevice As String, ByVal lpszOutput As String, ByVal lpInitData As IntPtr) As IntPtr

   End Function

   Private picture As Bitmap = Nothing '以picture作为图片格式的声明  

  ‘声明Public Sub capture_window()  

  Public Sub capture_window()

   Me.Visible = False

   Dim capture1 As IntPtr = CreateDC("DISPLAY", Nothing, Nothing, Nothing)

     Dim get1 As Graphics = Graphics.FromHdc(capture1)

   '创建一个新的Graphics对象

   picture = New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, get1)

   '根据屏幕大小创建一个相同大小的Bitmap

   Dim get2 As Graphics = Graphics.FromImage(picture)

   Dim get3 As IntPtr = get1.GetHdc() '获取屏幕的句柄

   Dim get4 As IntPtr = get2.GetHdc() '获取位图的句柄   

   BitBlt(get4, 0, 0, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, get3, _

   0, 0, 13369376) '把当前屏幕复制到位图中

   get1.ReleaseHdc(get3) '释放屏幕句柄

   get2.ReleaseHdc(get4) '释放位图句柄

   picture.Save("CapturePicture.jpg", ImageFormat.Jpeg)

   MessageBox.Show(" 已经把当前截取屏幕保存到CapturePicture.jpg,检查程序根目录")

   Me.Visible = True

   End Sub  

  进入 捕获当前屏幕ToolStripMenuItem_Click事件中  

  Private Sub 捕获当前屏幕ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 捕获当前屏幕ToolStripMenuItem.Click

   capture_window() '调用函数,开始捕获程序  

   End Sub  

  进入 退出程序ToolStripMenuItem_Click事件中  

  Private Sub 退出程序ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出程序ToolStripMenuItem.Click  

   NotifyIcon1.Visible = False

   '关闭系统

   Me.Close()

  End Sub

(责任编辑:admin)

Tags:VB.NET2008 屏幕抓捕
责任编辑:admin
返回顶部
------分隔线----------------------------
推荐内容
骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价 骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价