怎样用手机控制电脑开关机

软件名称... 软件名称 展开
 我来答
匿名用户
2013-08-08
展开全部
创建一个wwwroot的文件夹,创建一个手机WAP网页格式的p.wml,代码如下:

[code]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<!-- code by oran -->
<head>
<meta forua="true" http-equiv="Cache-Control" content="max-age=0"/>
<meta forua="true" http-equiv="Cache-Control" content="must-revalidate"/>
</head>
<template>
<do type="prev"><prev/></do>
</template>
<card id="card1" title="Wap2PC" newcontext="true">
<p>
<b>Code:</b><br/>
<input name="SID" size="10" maxlength="50" type="text" emptyok="true"/><br/>
<br/>
<anchor title="login">
<go href="p.asp" method="post">
<postfield name="code" value="$SID"/>
</go>Send<br/>
</anchor>
</p>
</card>
</wml>
[/code]

然后创建一个ASP文件,p.asp,代码如下:

[code]
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Response.ContentType="text/vnd.wap.wml" %><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="main" title="post">
<%
code=Request.Form("code")
Set file1 = CreateObject("NetBox.File")
file1.Create "code.log"
file1.WriteText code
file1.Close
%>
<p>
Successful!
</p>
</card>
</wml>
[/code]

手机通过wap访问到p.wml这个页面,页面中有一个表单,文本框和提交按钮。文本框就是来提交指令的了。这个页面的信息被传递到p.asp这个页面。把指令保存到一个叫code.log的文件里,然后显示“Successful!”。当然,我们现在只是做思路,在ASP中没有过滤传递的的信息。说到这个ASP,还有个小插曲,就是一直都是用FSO创建文件,可是测试起来发现总是出错,后来查阅netbox的说明文件后才发现,netbox的创建文件需要用“CreateObject("NetBox.File")”这样一个特殊的对象。

电脑上是接收到手机传递的指令了,可是怎么执行呢?事情发展到这里就比较好办了,大家可以利用自己熟悉的语言编写软件,在这里我只说我的思路好了。设定每2秒刷新一遍code.log这个文件,如果是空文件就跳过,如果有指令,则拿code.log里面的指令匹配数据库中对应的指令,能对上的话就表示是正确的指令,然后执行相应的命令,然后清空code.log,以便下一条指令的到达。

说起来这个程序是很简单的,只不过在WAP控制电脑的时候还要考虑到一个安全问题。为了方便,我们会把命令公开或记录下来。要是有人利用命令非法执行怎么办。那我们还需要在程序这块增加一个口令认证模块。比如说先前发送“关机”就可以执行的命令,现在加入口令“123456 关机”才可以。最简单的办法就是读取code.log的时候加上一个函数,读取从左开始前6位的字符串去匹配这个口令,如果是则继续读取第8位到完的字符串去匹配指令,然后执行。

最后要设置netbox,netbox需要一个main.box执行文件,才能把p.asp、p.wml打包成一个独立的程序,main.box里面的代码如下:

[code]
Dim httpd

Shell.Execute "code.exe"
Shell.Service.RunService "WapServer", "Oran Wap Server", "Wap Server For Remote Control"

'---------------------- Service Event ---------------------

Sub OnServiceStart()
Set httpd = NetBox.CreateObject("NetBox.HttpServer")

If httpd.Create("", 80) = 0 Then
Set host = httpd.AddHost("", "\wwwroot")

host.EnableScript = true
host.AddDefault "p.wml"

httpd.Start
else
Shell.Quit 0
end if
End Sub

Sub OnServiceStop()
httpd.Close
End Sub

Sub OnServicePause()
httpd.Stop
End Sub

Sub OnServiceResume()
httpd.Start
End Sub
[/code]

其中的“Shell.Execute "code.exe"”这个就是前面讲到的我们自己编写的读取指令的程序。让它随着网页服务一起运行。由于开机再自动运行很麻烦,我就考虑到服务的方法开启网页服务。“Shell.Service.RunService "WapServer", "Oran Wap Server", "Wap Server For Remote Control"”这段代码就是创建一个自动运行的服务。那这个也是我考虑用netbox的一个用意吧。代码“Set host = httpd.AddHost("", "\wwwroot")”是指定网站的根目录,“host.AddDefault "p.wml"”就是默认的首页了。

大部分家里还都是宽带ADSL,由于不是固定IP,我们还需要一个类似花生壳的动态解析软件。这样就可以在外面随时随地的访问电脑了。

这个思路的扩展性还是很强的,还能扩展为控制网站服务器,监视内存、CPU使用情况,重启IIS等多种操作。由于只需要手机WAP上网,价格相对低廉,方便易操作,也是日后控制程序发展的方向啊~希望有高人开发一种这样的程序,让它更简单更易用。

做到了这里,这个用手机控制电脑的思路就差不多结束了。其实,每件难事只要多思考,多动手,多体会,就能在自己和大家的帮助下,一步步的完成。
雷科技
2019-02-27 · 雷科技,致力于让科技资讯变得更加有趣。
个人认证用户
雷科技
采纳数:4958 获赞数:914803

向TA提问 私信TA
展开全部

日常办公中电脑基本是必备的,但有时候我们急需用电脑的时候电脑却不在身边,现在有办法可以用手机远程控制电脑。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-08
展开全部
你的什么手机?一般的手机是做不到这一点的,有一些智能手机可以做到,譬如多普达系列的不少手机就可以通过加装软件实现你的这个功能,我的多普达838就可以实现,但是普通的gsm手机或者是cdma手机是不能实现这一点的,至少在目前我还不知道哪一款普通手机选宣称有这个功能的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式