Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    Enum
JpMode
          theScreen = 0 '全屏截图
          theForm = 1
'当前焦点窗口截图
    End Enum
    Private Declare Function GetClipboardData Lib
"user32" (ByVal wFormat As Long) As Long
    Private Declare Function
CloseClipboard Lib "user32" () As Long
    Private Declare Function
OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare
Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As PicBmp, RefIID
As Guid, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long
   
Private Const CF_BITMAP = 2
    Private Type PicBmp
        Size As
Long
        Type As Long
        hBmp As Long
        hPal As
Long
        Reserved As Long
    End Type
    Private Type
Guid
        Data1 As Long
        Data2 As Integer
        Data3 As
Integer
        Data4(0 To 7) As Byte
    End Type
   
    Function
ApiGetClipBmp() As IPicture
        On Error Resume Next
   
       
Dim Pic As PicBmp, IID_IDispatch As Guid
        OpenClipboard 0
'OpenClipboard
        With IID_IDispatch
            .Data1 =
&H20400
            .Data4(0) = &HC0
            .Data4(7) =
&H46
        End With
        With Pic
            .Size =
Len(Pic)
            .Type = 1
            .hBmp =
GetClipboardData(CF_BITMAP)
        End With
       
       
OleCreatePictureIndirect Pic, IID_IDispatch, 1, ApiGetClipBmp
       
'stdole.SavePicture ApiGetClipBmp, "c:\clipboard.bmp"
       
CloseClipboard
    End Function
   
    Function KeyJp(Optional ByVal
TheMode As JpMode = theScreen) As IPictureDisp
      
'版权所有,请保留作者信息.QQ:1085992075   '如需商业用途请联系作者
          Call
keybd_event(vbKeySnapshot, TheMode, 0, 0) '
          DoEvents
         
'Set KeyJp = Clipboard.GetData
    End Function

Sub dd()
      KeyJp (theScreen)
      SavePicture ApiGetClipBmp,
"c:\2.bmp"
    End Sub

vba截屏保存的更多相关文章

  1. android截屏:保存一个view的内容为图片并存放到SD卡

    项目中偶尔会用到截屏分享,于是就有了下面这个截屏的方法~ 下面得saveImage()方法就是保存当前Activity对应的屏幕所有内容的截屏保存. private void saveImage() ...

  2. iOS截屏保存至相册

    #pragma mark 截屏并保存至相册 -(void)screenShotsComplete:(void(^)(UIImage * img)) complete { CGSize imageSiz ...

  3. Unity3d 截屏保存到相册,并且刷新相册

    要做一个截图的功能,并且玩家可以在相册中看到. 做的时候遇到了三个问题: 1.unity自带的截图API,Application.CaptureScreenshot在Android上不生效 2.图片保 ...

  4. IOS 截屏(保存到相册中)

    @interface NJViewController () /** * 点击截屏按钮 */ - (IBAction)captureView:(UIButton *)sender; /** * 白色v ...

  5. JS实现网页选取截屏 保存+打印 功能(转)

    源码地址: 1.1 确定截图选取范围 用户在开始截图后,需要在页面上选取一个截图范围,并且可以直观的看到,类似如下效果: image 我们的选取范围就是鼠标开始按下的那个点到鼠标拖动然后松开的那个点之 ...

  6. 使用adb命令对手机进行截屏保存到电脑,SDCard

    adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到SDCard) adb pull /sdcard/screenshot.png ...

  7. C#截屏

    本实例代码实现了WinForm截屏保存为图片,亲测可行. 界面截图: 下载:http://hovertree.com/h/bjaf/scjyuanma.htm 以下代码可以实际运行,在项目HoverT ...

  8. iOS开发UI篇—Quartz2D使用(截屏)

    iOS开发UI篇—Quartz2D使用(截屏) 一.简单说明 在程序开发中,有时候需要截取屏幕上的某一块内容,比如捕鱼达人游戏.如图: 完成截屏功能的核心代码:- (void)renderInCont ...

  9. 【iOS】Quartz2D截屏

    一.简单说明 在程序开发中,有时候需要截取屏幕上的某一块内容,比如捕鱼达人游戏.如图: 完成截屏功能的核心代码:- (void)renderInContext:(CGContextRef)ctx;调用 ...

随机推荐

  1. UVALive-3989 Ladies' Choice (稳定婚姻问题)

    题目大意:稳定婚姻问题.... 题目分析:模板题. 代码如下: # include<iostream> # include<cstdio> # include<queue ...

  2. Hibernate批量处理数据、[HQL连接查询]

    一.批量处理操作 批量处理数据是指在一个事务场景中处理大量数据.在应用程序中难以避免进行批量操作,Hibernate提供了以下方式进行批量处理数据: (1)使用HQL进行批量操作 数据库层面 (2)使 ...

  3. 在laravel视图中直接使用{{ csrf_token() }}被翻译成英文显示的处理方法

    在表单中加一个input框在放入{{ csrf_token() }}就可以了: 方法如下: <input type="hidden" name="_token&qu ...

  4. Constructor vs Object

    1. Constructor:是用于创建和初始化类中创建的一个对象的一种特殊方法. constructor([arguments]) { ... } 在一个类中只能有一个名为 “constructor ...

  5. angularjs指令中的require赋值含义

    前缀 寻找路劲 没有找到控制器是否抛错? 例如 Link函数中第四个参数 (no prefix) 当前指令的DOM 抛错 tabset 找到的Controller对象 ? 当前指令的DOM 不抛错 ? ...

  6. Android listview自定义分割线宽度

    代码很简单防止以后忘记 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:an ...

  7. 20155315 2016-2017-2 《Java程序设计》第八周学习总结

    教材学习内容总结 第14章 NIO与NIO2 1.认识NIO NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你设定缓冲区(Buffer)容量,在缓冲区中对感兴趣的数据区块进 ...

  8. JFreeChart的简单使用

    实例1:简单的饼图 public class Test { public static void main(String[] args) { //建立默认的饼图 DefaultPieDataset d ...

  9. LG3389 【模板】高斯消元法

    题意 题目描述 给定一个线性方程组,对其求解 输入输出格式 输入格式: 第一行,一个正整数\(n\) 第二至\(n+1\)行,每行\(n+1\)个整数,为\(a_1, a_2 \cdots a_n\) ...

  10. python 用 __all__ 暴露接口

    非常典型的python的用法 refer to : http://python-china.org/t/725