知识大全 如何用Delphi6实现对计算机的远程控制
Posted 知
篇首语:知是行的主意,行是知的功夫。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何用Delphi6实现对计算机的远程控制相关的知识,希望对你有一定的参考价值。
如何用Delphi6实现对计算机的远程控制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
WinSock是一组API 用于在网络上传输数据和交换信息 虽然现在有很多工具如FTP程序可以在网络上传输数据和文件 但是通过WinSock编程有更大的灵活性 它不需要关心网络连接的细节 然而用WinSock编程却很复杂 但是在Delphi中我们并不需要直接与WinSock的API打交道 因为TClientSocket元件和TServerSocket元件(Internet页)封装了WinSock的大部分API 使得对WinSock的访问大大简化 下面这个远程控制的例子就很清楚地说明了这个问题 它可以发送一个消息给对方 并能够使对方的电脑关闭 重新启动或重新登录
一 实现原理 实行远程控制 实际上就是一个服务器程序(以下简称被控程序)和一个客户程序(以下简称主控程序) 被控方即为服务器程序 它监听客户的请求 并作出处理 主控方即为客户程序 它连接上服务器后 发出自己的请求 服务器便根据自已的请求进行不同的响应
二 编写主控程序 新建一个项目Client dpr 并把一个TClientSocket元件放到Form上 它的属性设置如下 Port设为 (端口号可任意设置 只要求双方统一) 其它属性按默认值 在窗体上添加两个TEdit Edit 用来输入发送的字符 Edit 用来输入IP地址 添加两个TButton Button 点击后用来连接被控机 Button 点击后用来发送字符 然后声明一个私有变量ConnectFlag 表示双方是否连接好 privateConnectFlag:Boolean;
ClientSocket 的OnConnect事件代码如下
procedure TForm ClientSocket Connect(Sender: TObject;Socket: TCustomWinSocket);begin ConnectFlag:=True; //表示连接成功end;
ClientSocket 的OnError事件代码如下
procedure TForm ClientSocket Error(Sender: TObject;Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;var ErrorCode: Integer);beginApplication MessageBox(PChar( 不能连接到IP地址: + Edit Text+ +# + 可能是监听程序没有运行或网络故障! ) 连接错误 MB_OK+MB_ICONSTOP);ErrorCode := ; end;
Button 的OnClick事件代码如下
procedure TForm Button Click(Sender: TObject);beginwith ClientSocket do beginif Active then beginActive := False;//在连接之前首先关闭ConnectFlag:=False; //置连接标志为假end;if Length(Edit Text) > then beginHost := Edit Text; //指定IP地址或主机名Active := True; end; end;end;
Button 的OnClick事件代码如下
procedure TForm Button Click(Sender: TObject);beginif ConnectFlag thenClientSocket Socket SendText(Edit Text)//如果连接成功则发送字符串elseApplication MessageBox(PChar( 没有连接到地址 : + Edit Text+ +# + 检查IP地址是否存在或是否已经连接! ) 提示信息 MB_OK+MB_ICONSTOP);end;
三 编写被控程序 新建一个项目Server dpr 并把一个TServerSocket元件放到Form上
它的属性设置如下 Active设为True Port设为 其它属性按默认值
ServerSocket 的OnClientRead事件代码如下
procedure TForm ServerSocket ClientRead(Sender: TObject;Socket: TCustomWinSocket);varStr:PChar;Code V:Integer;beginStr:=PChar(Socket ReceiveText); //接收字符串Val(Str V Code); //处理接收的字符串 首先转换字符串为整数 if Code< > then Application MessageBox(Str 提示信息 MB_OK+MB_ICONINFORMATION) //如果转换后的数据不是一个整型数就通过消息框来显示字符串elseif (V= )or(V= )or(V= ) then ExitWindowsEx(V ) //调用Windows的API函数(V= 表示重新登录 V= 表示关机 V= 表示重启动)elseApplication MessageBox(Str 提示信息 MB_OK+MB_ICONINFORMATION); //转换后数据不为 时在消息框内显示字符串end;
修改项目文件 不让窗口显示并且防止它运行两次 修改begin和end之间的代码如下
beginApplication Initialize;if FindWindow( TForm Form )= then begin //当没有找到Form 时执行下面代码Application ShowMainForm:=False; //不显示主窗口Application CreateForm(TForm Form );Application Run;end;end
四 注意事项 网络要装配正确并安装TCP/IP协议 且要正常运行
首先要运行被控程序
必须知道对方的IP地址或主机名
cha138/Article/program/Delphi/201311/25083相关参考
机组检修时,对计算机控制柜内接地线的检查要求,不完全正确的是()
机组检修时,对计算机控制柜内接地线的检查要求,不完全正确的是()A、固定机柜间地线的垫片、螺栓等紧固无松动、锈蚀。接地线须用绝缘铜芯线直接与公共地线连接,不得通过由螺丝固定的中间物体连接。B、整个计算
用Delphi6开发ASP上传组件详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 文件上传是
火力发电厂为什么采用计算机监控系统?参考答案:随着火电厂机组朝大容量方向发展,对自动化的要求也愈来愈高,在这种情况下,用模拟仪表组成的常规过程控制系统表现出某些不足之处。1、常规过程控制系统难于实现多
火力发电厂为什么采用计算机监控系统?参考答案:随着火电厂机组朝大容量方向发展,对自动化的要求也愈来愈高,在这种情况下,用模拟仪表组成的常规过程控制系统表现出某些不足之处。1、常规过程控制系统难于实现多
分布式控制系统(DistributedControlSystem),在我国习惯上称之为集散控制系统,主要用于石油、化工、电力、冶金等流程工业的过程控制。它是用计算机技术对生产过程进行集中监视、操作
分布式控制系统(DistributedControlSystem),在我国习惯上称之为集散控制系统,主要用于石油、化工、电力、冶金等流程工业的过程控制。它是用计算机技术对生产过程进行集中监视、操作
控制用的个人计算机(PC)称为工业控制计算机,简称为工控机(IPC)。工控机是在个人计算机的基础上发展起来的,采用总线式结构,硬件的兼容性较强。IPC有各种各样的输入/输出板卡供用户选用,有很强的
控制用的个人计算机(PC)称为工业控制计算机,简称为工控机(IPC)。工控机是在个人计算机的基础上发展起来的,采用总线式结构,硬件的兼容性较强。IPC有各种各样的输入/输出板卡供用户选用,有很强的
高炉过程控制由配置的各种计算机完成,它们的职能是: (1)采集冶炼过程的各种信息数据,并进行整理加工、存贮显示、通讯交换、打印报表等。 (2)对高炉过程全面监控,通过数学模型计算对炉况进行预测
高炉过程控制由配置的各种计算机完成,它们的职能是: (1)采集冶炼过程的各种信息数据,并进行整理加工、存贮显示、通讯交换、打印报表等。 (2)对高炉过程全面监控,通过数学模型计算对炉况进行预测