龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

拷屏代码

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
TCanvas *dtCanvas = new TCanvas; dtCanvas->Handle=GetDC(0); Graphics::TBitmap *bitmap=new Graphics::TBitmap; bitmap->Width=Width; bitmap->Height=Height; int nColors=GetDeviceCaps(Canvas->Handle,SIZEPALETTE); LOGPALETTE* logPal=(LOGPALETTE*)

  TCanvas *dtCanvas = new TCanvas;

  

dtCanvas->Handle=GetDC(0);

  

  

Graphics::TBitmap *bitmap=new Graphics::TBitmap;

  

bitmap->Width=Width;

  

bitmap->Height=Height;

  

  

int nColors=GetDeviceCaps(Canvas->Handle,SIZEPALETTE);

  

LOGPALETTE* logPal=(LOGPALETTE*)new Byte[sizeof(LOGPALETTE)+(nColors-1)*sizeof(PALETTEENTRY)];

  

logPal->palVersion=0x300; logPal->palNumEntries=(Word)nColors;

  

GetSystemPaletteEntries(Canvas->Handle,0,nColors,logPal->palPalEntry);

  

bitmap->Palette=CreatePalette(logPal);

  

delete[] logPal;

  

  

TRect src=BoundsRect;

  

TRect dest=Rect(0,0,Width,Height);

  

bitmap->Canvas->CopyRect(dest,dtCanvas,src);

  

  

bitmap->SaveToFile("Screen.bmp");

  

  

delete bitmap;

  

delete dtCanvas;

  

精彩图集

赞助商链接