不知道有没有想vnc一样的远程监控程序源代码(要delphi版的)?(100分)

  • 主题发起人 主题发起人 chenyihai
  • 开始时间 开始时间
C

chenyihai

Unregistered / Unconfirmed
GUEST, unregistred user!
因为vnc的源代码是vc,vc我不熟,所以不知道有没有delphi版的代码,主要是屏幕传输部分。
 
有没有那位朋友帮帮我。急!!!!!!
分不够我可以在加!
 
这个很多的啊
大名鼎鼎的netbus就是啊
你去找找,我这儿没有
 
procedure TForm1.ScreenCap(LeftPos,TopPos,RightPos,BottomPos:integer);
var
RectWidth,RectHeight:integer;
SourceDC,DestDC,Bhandle:integer;
Bitmap:TBitmap;
begin
RectWidth:=RightPos-LeftPos;
RectHeight:=BottomPos-TopPos;
SourceDC:=CreateDC('DISPLAY','','',nil);
DestDC:=CreateCompatibleDC(SourceDC);
Bhandle:=CreateCompatibleBitmap(SourceDC,RectWidth,RectHeight);
SelectObject(DestDC,Bhandle);
BitBlt(DestDC,0,0,RectWidth,RectHeight,SourceDC,LeftPos,TopPos,SRCCOPY);
Bitmap:=TBitmap.Create;
Bitmap.Handle:=BHandle;
BitMap.SaveToStream(BmpStream);
CompressFile(BmpStream);
BmpStream.Position:=0;
LeftSize:=BmpStream.Size;
Bitmap.Free;
DeleteDC(DestDC);
ReleaseDC(Bhandle,SourceDC);
end;

procedure TForm1.CUDPDataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
var
CtrlCode:array[0..49] of char;
Buf:array[0..BufSize-1] of char;
TmpStr:string;
SendSize,LeftPos,TopPos,RightPos,BottomPos:integer;
begin
CUDP.ReadBuffer(CtrlCode,NumberBytes);
if CtrlCode[0]+CtrlCode[1]+CtrlCode[2]+CtrlCode[3]='show' then
begin
if BmpStream.Size=0 then
begin
TmpStr:=StrPas(CtrlCode);
TmpStr:=Copy(TmpStr,5,Length(TmpStr)-4);
LeftPos:=0;TopPos:=0;RightPos:=Screen.Width;BottomPos:=Screen.Height;
ScreenCap(LeftPos,TopPos,RightPos,BottomPos);
end;
if LeftSize>BufSize then
SendSize:=BufSize
else
SendSize:=LeftSize;
BmpStream.ReadBuffer(Buf,SendSize);
LeftSize:=LeftSize-SendSize;
if LeftSize=0 then BmpStream.Clear;
CUDP.RemoteHost:=FromIP;
CUDP.SendBuffer(Buf,SendSize);
end;
 
我有!留个MAIL下来吧!
 
效率高的目前我还没有见过!
 
我email:chenyihai@nbu.edu.cn
 
如果是WinXP,自己带的远程控制就已经很好用了。
Win2000等版本就用netMeeting搞定
相信你一时之间是做不到它的水平的。
所以建议你直接用现成的免费软件。 :)
 
RemoteCXP:国产强大远程控制与管理软件(v1.1)
URL http://www.csdn.net/cnshare/soft/openfile.asp?kind=1&id=13694
 
多人接受答案了。
 
后退
顶部