相关推荐
-
RDP通道(远程桌面插件)开发指南—Delphi版
如果事件是CHANNEL_EVENT_DATA_RECEIVED,则服务器写入的数据被分成不超过CHANNEL_CHUNK_LENGTH字节的块。这意味着当一个会话开始隐藏当前会话时,或者当远程控制连接到连接到客户端的会话或从连接到客户端的会话断开连接时,通道不会在服务器端关闭。远程桌面客户端加载这个DLL后,会先调用这个函数,并传递一个指向 CHANNEL_ENTRY_POINTS 结构的指针,该结构包含指向客户端虚拟通道函数的指针。由于内存复制,过多的Write()调用可能会导致客户端分配过多的内存。
-
Delphi实现远程控制桌面显示(关机、重启、注销)
摘要:Delphi源码,网络相关,远程控制,远程关机,远程重启 Delphi编写实现的远程控制程序,若客户端与服务器端端口一致的话,很容易连接上远程桌面,通过远程桌面可控制远程计算机隐藏桌面、关闭系统、重启系统、注销系统等功能,窗体的实现为各种控制操作提供便利条件。本源码无第三方控件,因此在Delphi7环境下,您可直接编译源码生成EXE文件。 运行环境:Windows/Delphi7
-
delphi操作多显示器
早上老师找我做的一个小程序,他的系统为一个主机,拖了6台显示器,为了显示程序(在一个屏幕上用录像专家)需要做一个适时监控多屏幕的软件,和远程控制的不一样,那个是多这个主机。最后完成后发现显示的效果不佳,个人认为是因为缩放后的缘故(缩放比大),时间仓促,就写了一个点击某个屏幕,打开一个窗体,显示比较大的该屏幕的图(缩放比小),效果还可以。//获取屏幕的矩形区域。...
-
rdp delphi 12 实现远程桌面
1. 首先确保你的机器上存在mstscax.dll,如果没有这个文件,可以从http://download.microsoft.com/download/whistler/tools/1.0/wxp/en-us/msrdpcli.exe下载并安装远程桌面连接软件.或者使用Window10中自带的mstscax.dll,运行regsvr32 mstscax.dll进行注册,ccrun测试使用的mstscax.dll版本号是5.1.2600.0,在Windows2025 Server中可以编译。
-
Delphi 调用Windows 远程桌面核心代码
通过COM接口调用远程桌面,将远程桌面显示在应用程序窗体内: 一、主程序: unit uMain; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl....
-
在Delphi中读取另一台计算机的屏幕
在Delphi中读取局域网内另一台计算机的屏幕路方 2000-10-25 09:50:30[摘要] 编写过Winsock应用程序的程序员都知道,编写Winsock应用程序绝不是一件轻而易举的事,您不得直接与复杂的Winsock中的Api打交道,幸运的是,Delphi4中的Tclientsocket 和Tserversocket封装了Windo
-
rdp delphi实现远程桌面
1. 首先确保你的机器上存在mstscax.dll,如果没有这个文件,可以从http://download.microsoft.com/download/whistler/tools/1.0/wxp/en-us/msrdpcli.exe下载并安装远程桌面连接软件.或者使用WindowXP中自带的mstscax.dll,运行regsvr32 mstscax.dll进行注册,ccrun测试使用的mst...
-
远程控制编程揭密
将远程控制应用于教学中,已成为目前计算机化教学的重要手段。一定有很多的网虫想了解这种网络教学方式的编程原理吧。在此我们就以一个简单的远程控制程序作为示例,说明这种网络编程的基本原理。本程序以Delphi编程为例。 其实该程序的工作机制很简单,受控方运行一个程序,用于侦听端口并接收数据包,而主控方通过端口给受控方的端口发送数据包。根据这个原理,我们编写两个程序,一个是控制方的,而另一
-
一个实用的Delphi屏幕拷贝程序的设计
Borland 公 司( 现 改 名 为INPRISE 公 司) 的DELPHI 是 当 前 最 为 方 便 的Windows 程 序 设计 工 具 之 一。 许 多 人 以 为DELPHI 是 作 为 数 据 库 开 发 工 具 出 现 的, 其 实 用DELPHI可 以 以 极 快 的 速 度 开 发 出 高 效 的Windows 程 序。 现 在 我 们 就 用DELPHI 来 编 写 一
-
搭建VNC远程桌面服务
参考:腾讯云手动实验 https://cloud.tencent.com/developer/labs/lab/10282 都说 Windows 的好处,就是可以运行图形界面程序。其实 Linux 不仅有基于 X11 的图形界面程序,还支持 VNC 远程桌面。 本文以 CentOS 发行版为例进行讲解,教你如何在 Linux 启动 VNC 服务,并在 Windows 下连接 Linux 服务器的图形界面。 VNC远程桌面原理 名词解释 Xorg:在linux用户中非常流行,已经成为图形用户程序的必备条
-
DELPHI远程屏幕传输程序
内容索引:Delphi源码,网络相关,屏幕传输,远程桌面 屏幕传输是远程可视化远程控制软件中的一个子模板,也就是是将被控方的桌面原样的传回到你的电脑并显示,和控制自己的电脑一样,本次的屏幕传输程序是修正版,采用分块+隔行扫描的原理,经过了几次的修改,当然,也可能因为每个人编程思路的不一样,所以你对程序可能会有不同的看法,源码公开是为了更好的进步,欢迎提出宝贵建议。
-
Delphi远程桌面(远程控制)程序附源代码
Delphi远程桌面(远程控制)程序附源代码,供大家学习!
-
int数据与byte之间的相互转换实现代码
在BMP文件和文件压缩时需要用到的int与byte转换,现将理解的贴出来; 主要是要理解;位移等概念 http://baihe747.iteye.com/blog/2078029 int转byte; byte转int; /** * 字节转成int,int转成字节 * @author Administrator * */ public clas...
-
远程屏幕传输(差异截图)
远程屏幕传输(差异截图),delphi 源码,原理为首次进行全屏幕截图,其后只对变化的部分进行截图。代码写的比较粗糙望不要见笑。 附带一个远程视频传输的简单实现代码,用到DSPACK控件.
-
Delphi 视屏监控分屏算法Demo
delphi实现视屏监控客户端动态分屏功能;双击全屏,双击还原,放大缩小自适应窗体。功能强大。
-
delphi hook 抓屏
var intPos,intX,intY: longint; begin intPos := message.lParam; intX := Trunc(intPos/10000); intY := (intPos mod 10000); if not CutRange.MouseIsDown then begin if not ((intX>Left) and (intX<Left+47) and (intY>Top) and (intY<Top+Height)) then begin MoveWindow(CutRangeFormHan,intX,intY,1,1,True); end; end; case CurAction of alCut: //篒礶 begin if message.WParam = WM_LBUTTONDOWN then begin CutRange.StartPoint.X := intX; CutRange.StartPoint.Y := intY; CutRange.MouseIsDown := True; end else if message.WParam = WM_LBUTTONUP then begin SendMessage(CutRangeFormHan,WM_CLOSE,0,0); CutRangeFormHan := 0; uUnWinHook; CutRange.EndPoint.X := intX; CutRange.EndPoint.Y := intY; btnCut.Down := False; CutRange.MouseIsDown := False; CurAction := alNone; uCutScreenToClipboard(CutRange); end; if CutRange.MouseIsDown then begin uDrawCutRange(intX,intY); end; end; alLine: //礶絬 begin if message.WParam = WM_LBUTTONDOWN then begin CutRange.StartPoint.X := intX; CutRange.StartPoint.Y := intY; CutRange.EndPoint.X := intX; CutRange.EndPoint.Y := intY; CutRange.MouseIsDown := True; end else if message.WParam = WM_LBUTTONUP then begin CutRange.EndPoint.X := intX; CutRange.EndPoint.Y := intY; CutRange.MouseIsDown := False; uDrawLine(intX,intY,pmCopy); end; if CutRange.MouseIsDown then begin uDrawLine(intX,intY,pmXor); end; end; alPolyLine: //礶ヴ種Ρ絬 begin if message.WParam = WM_LBUTTONDOWN then begin CutRange.StartPoint.X := intX; CutRange.StartPoint.Y := intY; CutRange.MouseIsDown := True; end else if message.WParam = WM_LBUTTONUP then begin CutRange.EndPoint.X := intX; CutRange.EndPoint.Y := intY; CutRange.MouseIsDown := False; uDrawPolyLine(intX,intY); end; if CutRange.MouseIsDown then begin uDrawPolyLine(intX,intY); end; end; alRang: //礶痻 begin if message.WParam = WM_LBUTTONDOWN then begin CutRange.StartPoint.X := intX; CutRange.StartPoint.Y := intY; CutRange.EndPoint.X := intX; CutRange.EndPoint.Y := intY; CutRange.MouseIsDown := True; end else if message.WParam = WM_LBUTTONUP then begin CutRange.EndPoint.X := intX; CutRange.EndPoint.Y := intY; CutRange.MouseIsDown := False; uDrawRang(intX,intY,pmCopy); end; if CutRange.MouseIsDown then begin uDrawRang(intX,intY,pmXor); end; end; alRangC: //礶蛾à痻 begin if message.WParam = WM_LBUTTONDOWN then begin CutRange.StartPoint.X := intX; CutRange.StartPoint.Y := intY; CutRange.EndPoint.X := intX; CutRange.EndPoint.Y := intY; CutRange.MouseIsDown := True; end else if message.WParam = WM_LBUTTONUP then begin CutRange.EndPoint.X := intX; CutRange.EndPoint.Y := intY; CutRange.MouseIsDown := False; uDrawRangC(intX,intY,pmCopy); end; if CutRange.MouseIsDown then begin uDrawRangC(intX,intY,pmXor); end; end; alRoud: //礶蛾 begin if message.WParam = WM_LBUTTONDOWN then begin CutRange.StartPoint.X := intX; CutRange.StartPoint.Y := intY; CutRange.EndPoint.X := intX; CutRange.EndPoint.Y := intY; CutRange.MouseIsDown := True; end else if message.WParam = WM_LBUTTONUP then begin CutRange.EndPoint.X := intX; CutRange.EndPoint.Y := intY; CutRange.MouseIsDown := False; uDrawRoud(intX,intY,pmCopy); end; if CutRange.MouseIsDown then begin uDrawRoud(intX,intY,pmXor); end; end; alText: //糶ゅ begin if message.WParam = WM_LBUTTONDOWN then begin if TextFormHan<=0 then begin SendMessage(CutRangeFormHan,WM_CLOSE,0,0); CutRangeFormHan := 0; TextForm := TTextForm.Create(nil); TextFormHan := TextForm.Handle; TextForm.Left := intX; TextForm.Top := intY; CutRange.StartPoint.X := intX; CutRange.StartPoint.Y := intY; TextForm.Show; btnText.Down := False; end else begin if (intX<TextForm.Left) or (intY<TextForm.Top) or (intX>TextForm.Left+TextForm.Width) or (intY>TextForm.Top+TextForm.Height) then begin SendMessage(TextFormHan,MSG_SANWRITETEXT,100,0); // SendMessage(TextFormHan,WM_CLOSE,0,0); TextFormHan :=0; uUnWinHook; // CutRange.EndPoint.X := intX; // CutRange.EndPoint.Y := intY; CutRange.MouseIsDown := False; CurAction := alNone; end; end; end else if message.WParam = WM_LBUTTONUP then begin end; //MoveWindow(TextFormHan,intX,intY,1,1,True); end; end; end;
-
delphi远程屏幕跟踪程序
老外写的公开源代码的远程屏幕跟踪程序,速度非常快。还是很有用的,delphi版本的。
-
Delphi实现远程屏幕截图源代码 客户端与服务端.rar
Delphi远程屏幕截图的实现代码,支持TCP与SPXII协议,属WinAPI编程的范畴,不依赖于任何三方控件。程序仅初步完成,还有很多莫名其妙的bug(如类型转化语句不能执行,FreeMem报错而FreeMemory正常等,详见注释),仅供参考,谢谢。 SPX:21位地址码 任意分割符(1位) 地址坐标(X:Y:Width:Height) TCP(无需客户端):在IE中输入http://IP地址(127.0.0.1表示本机):5150/X-Y-Width-Height-
-
动态分块+隔行扫描远程桌面传输程序C++Delphi
网上找到的远程桌面程序源代码(Delphi + c++),可以学习桌面截取、Socket等,很有意义。
-
基于Delphi的TNMUDP组件实现远程控制.txt
基于Delphi的TNMUDP组件实现远程控制.txt 介绍了tnmudp控件开发细节