带你迈上专业软件开发第一步:远程屏幕监视软件的设计与实现
2009-05-29 16:52:57 来源:WEB开发网capRect.left,capRect.top,SRCCOPY);
if (cq>=0) {
TJPEGImage *jpeg;
try {
jpeg = new TJPEGImage; // 创建JPEG图象
(3)LoadImage ()——接受服务端屏幕数据并在本地计算机上重绘图像。具体代码如下:
bool __fastcall TRecvStreamThread::LoadImage(TImage *Image1)
{
CPingReply reply;
CPing PingHost;
bool bRtn = false; // 函数返回值初始为FALSE
StatusBar->SimpleText = "正在连接主机...";
// 先PING主机,检测网络是否畅通
bool rtn = PingHost.Ping(RemoteAddress.c_str(),reply,64,4000,32);
if (rtn) {
u_short RecvPort=0;
TMemoryStream *Stream;
try{
for(int i=1;i<=(ConfigForm->times);i++) //进入循环,不断获得远程桌面图像
{ // 定义一个数据流并分配内存
Stream = new TMemoryStream;
TJPEGImage *jpeg; // 定义JPEG图象
try{
jpeg = new TJPEGImage; // 分配内存
int RecvSocket = BindSocket(&RecvPort); //动态分配接收端口
if (RecvSocket)
{ // 将接收端口和色深、图象品质合成一条命令,参数之间以’n’分隔
AnsiString Msg = IntToStr(RecvPort) + "n" +IntToStr(CL) + "n" +IntToStr(CQ) + "n";
Application->ProcessMessages(); // 处理系统消息
// 向远程主机发送命令
if (SendMsg(RemoteAddress,LISTENPORT,Msg))
更多精彩
赞助商链接