资源简介
录屏保存avi
代码片段和文件信息
#include “stdio.h“
#include “time.h“
#include
#include
#pragma comment(lib“vfw32.lib“)
int main(int argcchar *argv[])
{
HWND hwndCalc = GetDesktopWindow();
RECT rect;GetClientRect(hwndCalc&rect);
HDC hdcCalc = GetDC(hwndCalc);
HDC hdcCalcBuf = CreateCompatibleDC(NULL);
HBITMAP hBitmap = CreateCompatibleBitmap(hdcCalcrect.rightrect.bottom);
Selectobject(hdcCalcBuf hBitmap);
AVIFileInit();
PAVIFILE pAviFile;
AVIFileOpen(&pAviFile“test.avi“OF_CREATE|OF_WRITENULL);
AVISTREAMINFO aviStreamInfow;
memset(&aviStreamInfow0sizeof(aviStreamInfow));
aviStreamInfow.fccType = streamtypeVIDEO;
aviStreamInfow.dwRate = 15; //每秒12帧
aviStreamInfow.dwScale = 1;
aviStreamInfow.rcframe.right = rect.right;
aviStreamInfow.rcframe.bottom = rect.bottom;
aviStreamInfow.dwSuggestedBufferSize = rect.right*rect.bottom*32;
strcpy(aviStreamInfow.szName“test.avi“);
PAVISTREAM pVideoStream;
AVIFileCreateStream(pAviFile&pVideoStream&aviStreamInfow);
BITMAPINFOHEADER bmpInfoHdr;
bmpInfoHdr.biSize = sizeof(BITMAPINFOHEADER);
bmpInfoHdr.biWidth = rect.right;
bmpInfoHdr.biHeight = -rect.bottom;
bmpInfoHdr.biBitCount = 32;
bmpInfoHdr.biCompression = BI_RGB;
bmpInfoHdr.biSizeImage = 0;
bmpInfoHdr.biClrImportant = 0;
bmpInfoHdr.biClrUsed = 0;
bmpInfoHdr.biXPelsPerMeter = 0;
bmpInfoHdr.biYPelsPerMeter = 0;
bmpInfoHdr.biPlanes = 1;
clock_t start_time = clock();
int buff_bitSize = rect.right*rect.bottom*4;
BYTE *buff_pBits = new BYTE[buff_bitSize];
for(int i=0;i<75;i++)
{
BitBlt(hdcCalcBuf 0 0 rect.rightrect.bottom hdcCalc 0 0 SRCCOPY);
LONG dl = GetBitmapBits(hBitmap buff_bitSize buff_pBits);
if(dl != 0)
{
AVIStreamSetFormat(pVideoStreami&bmpInfoHdrsizeof(bmpInfoHdr));
AVIStreamWrite(pVideoStreami1(LPBYTE)buff_pBitsbuff_bitSizeAVIIF_KEYframeNULLNULL);
}
char title[10];
sprintf(title“frame=%d“i);
SetConsoletitle(title);
}
free(buff_pBits);
if(pVideoStream)
{
pVideoStream->Release();
pVideoStream = NULL;
}
if(pAviFile)
{
pAviFile->Release();
pAviFile = NULL;
}
AVIFileExit();
Deleteobject(hBitmap);
ReleaseDC(hwndCalchdcCalc);
return 1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-02-16 18:18 录屏保存avi\
目录 0 2017-02-16 18:19 录屏保存avi\Debug\
文件 15356 2017-02-16 11:29 录屏保存avi\Debug\main.obj
文件 0 2017-02-16 11:29 录屏保存avi\Debug\main.sbr
文件 156672 2017-02-16 18:18 录屏保存avi\Debug\vc60.idb
文件 86016 2017-02-16 11:29 录屏保存avi\Debug\vc60.pdb
文件 2114560 2017-02-16 11:29 录屏保存avi\Debug\录屏保存api.bsc
文件 155730 2017-02-16 11:29 录屏保存avi\Debug\录屏保存api.exe
文件 193308 2017-02-16 11:29 录屏保存avi\Debug\录屏保存api.ilk
文件 4967036 2017-02-16 11:05 录屏保存avi\Debug\录屏保存api.pch
文件 443392 2017-02-16 11:29 录屏保存avi\Debug\录屏保存api.pdb
文件 2280 2017-02-16 11:29 录屏保存avi\main.cpp
文件 4341 2017-02-16 10:50 录屏保存avi\录屏保存api.dsp
文件 547 2017-02-16 10:38 录屏保存avi\录屏保存api.dsw
文件 41984 2017-02-16 18:18 录屏保存avi\录屏保存api.ncb
文件 48640 2017-02-16 18:18 录屏保存avi\录屏保存api.opt
文件 256 2017-02-16 18:18 录屏保存avi\录屏保存api.plg
文件 106 2017-02-16 11:29 录屏保存avi\录屏保存api.positions
评论
共有 条评论