如何实现远程计算机的控制?(50分)

  • 主题发起人 主题发起人 juky.liu
  • 开始时间 开始时间
J

juky.liu

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么编写是用一台计算机控制另外的计算机的开机、关机、打开程序等等。
所有的机子都同在一个局域网内,通过网卡连接,最好是双向控制。
 
作一个服务器,一个客户端,看看冰河的辕马
或者bo的辕马,还有很多这种东西都有源码的
 
用2层模式,自已定义一套协议,利用API就可以轻松实现开关机的功能,应该是
ExitWindowsEx这个函数,具体使用方法,你查一下资料。例在一端传送一个'exit',
则在另一端如果接收到'exit'执行关机操作等等。
 


  第一步,开始控制方程序,在其中加入clientsocket控件,取名control,设置host属性为受控机ip地址,port属性为1234(端口可以随便设置,但不要与一些默认端口重复,如80等)。

  第二步,在FormCreate事件中加入代码control.open; //打开与受控机的通信

  第三步,加入个Button,设置caption为“重新启动”,并在ButtonClick事件中加入代码control.Socket.SendText('reboot');//通知受控机重新启动。这样就完成了控制方的工作了。

  第四步,开始受控方的程序,在其中加入serversocket控件,取名undercontrol,设置port属性为1234(与控制方的端口一致),active属性为true;

  第五步,在undercontrol的OnclientRead事件中加入代码if Socket.ReceiveText='reboot' then

  ExitWindowsEx(EWX_REBOOT,2); //重启的API函数

  这样就完成了代码的工作,然后编译这两个程序生成两个.exe文件分别放在两台机器上运行(记得先运行Win98下的受控机程序),在控制机按下“重新启动”的Button(按钮),受控机就重新启动了。远程控制机器重启成功实现。

我抄的不过的确很简单!
 
谁有冰河源码来一份!tgmngy@sohu.com谢谢!
 
接受答案了.
 
后退
顶部