知识大全 如何用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、整个计算

知识大全 用Delphi 6开发ASP上传组件详解

用Delphi6开发ASP上传组件详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  文件上传是

火力发电厂为什么采用计算机监控系统?

火力发电厂为什么采用计算机监控系统?参考答案:随着火电厂机组朝大容量方向发展,对自动化的要求也愈来愈高,在这种情况下,用模拟仪表组成的常规过程控制系统表现出某些不足之处。1、常规过程控制系统难于实现多

火力发电厂为什么采用计算机监控系统?

火力发电厂为什么采用计算机监控系统?参考答案:随着火电厂机组朝大容量方向发展,对自动化的要求也愈来愈高,在这种情况下,用模拟仪表组成的常规过程控制系统表现出某些不足之处。1、常规过程控制系统难于实现多

什么是DCS?它与PLC有什么关系?

  分布式控制系统(DistributedControlSystem),在我国习惯上称之为集散控制系统,主要用于石油、化工、电力、冶金等流程工业的过程控制。它是用计算机技术对生产过程进行集中监视、操作

什么是DCS?它与PLC有什么关系?

  分布式控制系统(DistributedControlSystem),在我国习惯上称之为集散控制系统,主要用于石油、化工、电力、冶金等流程工业的过程控制。它是用计算机技术对生产过程进行集中监视、操作

PLC与工业控制计算机各有什么特点?

  控制用的个人计算机(PC)称为工业控制计算机,简称为工控机(IPC)。工控机是在个人计算机的基础上发展起来的,采用总线式结构,硬件的兼容性较强。IPC有各种各样的输入/输出板卡供用户选用,有很强的

PLC与工业控制计算机各有什么特点?

  控制用的个人计算机(PC)称为工业控制计算机,简称为工控机(IPC)。工控机是在个人计算机的基础上发展起来的,采用总线式结构,硬件的兼容性较强。IPC有各种各样的输入/输出板卡供用户选用,有很强的

高炉过程控制完成哪些职能?

  高炉过程控制由配置的各种计算机完成,它们的职能是:  (1)采集冶炼过程的各种信息数据,并进行整理加工、存贮显示、通讯交换、打印报表等。  (2)对高炉过程全面监控,通过数学模型计算对炉况进行预测

高炉过程控制完成哪些职能?

  高炉过程控制由配置的各种计算机完成,它们的职能是:  (1)采集冶炼过程的各种信息数据,并进行整理加工、存贮显示、通讯交换、打印报表等。  (2)对高炉过程全面监控,通过数学模型计算对炉况进行预测