Board logo

标题: 转:不用API实现截屏/截取当前窗口内容(“抓图”) [打印本页]

作者: eech     时间: 2007-6-15 10:12    标题: 转:不用API实现截屏/截取当前窗口内容(“抓图”)

不用API实现截屏/截取当前窗口内容(“抓图”)

  
  -------   
  以前我在google里找过实现截屏/截Window的方法,搜到了一个用API函数的,我不喜欢用API,于是就没收藏。今天我无意中发现   System.Windows.Forms.SendKey   对象,一下子就知道该怎么弄了   
   
  //   模拟按键,将当前窗口图像截取到剪贴板:   
  SendKeys.SendWait("%{PRTSC}");   //   模拟   Alt+PrtSc,如果要截取整个屏幕,把   Alt   (%)   去掉   
  //   获取剪贴板里的图像:   
  Bitmap   myCapture   =   (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap);   
  //   要显示图像可以这么做:   
  this.pictureBox1.Image   =   myCapture;   
  //   要保存图像可以这么做:   
  myCapture.Save(@"C:\myCapture.jpg",   System.Drawing.Imaging.ImageFormat.Jpeg);   
   
  -------   
  不知道有没有人发过,搜索不管用……
作者: my3439955     时间: 2007-6-16 09:15
这是C#写的程序吧

说不用API是因为API被封装了

API可以截取屏幕和当前窗口

在XP下,还可以方便的截取任意窗口的内容

无论是否被遮挡
作者: bd123456789     时间: 2008-5-16 07:54
可能楼主的代码是调用
System.Windows.Forms.SendKey   对象
然后用VBS对该对象的属性进行操作 可惜本人没有领会!

如果是C编写的,有高手能编个EXE吗?方便在CMD或VBS中调用