WEB开发网
开发学院网络安全黑客技术 带你迈上专业软件开发第一步:远程屏幕监视软件的... 阅读

带你迈上专业软件开发第一步:远程屏幕监视软件的设计与实现

 2009-05-29 16:52:57 来源:WEB开发网   
核心提示: AnsiString RemoteAddress; // 远程主机IP int CL, CQ; // 色深和图象品质};3.继承类中的相关方法:(1)CaptureImage()——捕获当前屏幕并保存到Imagestream中。具体代码如下:void Captur

AnsiString RemoteAddress;  // 远程主机IP

int CL, CQ;  // 色深和图象品质

};

3.继承类中的相关方法:

(1)CaptureImage()——捕获当前屏幕并保存到Imagestream中。具体代码如下:

void CaptureImage(int options, int level, int cq, TMemoryStream* imgstream)

{

LONG width,height;

RECT capRect;

HDC DesktopDC;

switch (options) {

case CM_ENTIRESCREEN:  // 捕获整个屏幕

// 取得桌面的矩形区域范围

GetWindowRect(GetDesktopWindow(),&capRect); 

break;

case CM_ACTIVEWINDOW:  // 捕获当前窗口

HWND ForegWin;

ForegWin = GetForegroundWindow();  // 取得当前窗口句柄

if (!ForegWin)

ForegWin = GetDesktopWindow();

GetWindowRect(ForegWin,&capRect);  // 取得当前窗口的矩形区域范围

break;

}

DesktopDC = GetDC(GetDesktopWindow());  // 创建内存设备描述表

width = capRect.right - capRect.left;

height = capRect.bottom - capRect.top;

Graphics::TBitmap *bBitmap;  // 定义位图变量

try {

bBitmap = new Graphics::TBitmap(); // 创建位图

bBitmap->Width=width;

bBitmap->Height=height;

if ((level>0)&&(level<8))

bBitmap->PixelFormat = TPixelFormat(level);  // 设定色深

// 拷贝屏幕的指定区域到位图

BitBlt(bBitmap->Canvas->Handle,0,0,width,height,DesktopDC,

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:专业 软件开发 第一

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接