BBS.2CTO.COM 红黑论坛
WWW.2CTO.COM 红黑主站
手机远程控制电脑软件设计课程
第四课、简单功能的设计(二)
理论知识:
照旧还是先来点理论吧,上节课我们已经实现的手机
和电脑的数据传输的大体框架了这一节课来解释一下
如何实现一些简单的功能——简单功能的设计
我们在VB程序中,如果从手机处收到b就是关机,
收到c就是重启……以此类推,我们还可以做很多事
最近这一两节课就是讲这些小功能的实现了!
本节课的小功能实现:
1 使用监控
2 鼠标锁定
3 信息框弹出
4 锁定计算机
在这一节课,如果有时间的话(多半是有的)
我还会讲一下比较实用,新颖的功能吧—远程开机
关于远程开机的文章:
http://baike.baidu.com/view/69321.htm
http://user.qzone.qq.com/315102821/blog/1325826199#!app=2&pos=1325826199 我写的嘿嘿(用j2me实现)
还有附上VB的源代码:
Private Sub Command1_Click()
On Error GoTo errorExe
With Winsock1
.Protocol = sckUDPProtocol
.RemoteHost = txtDns.Text
.RemotePort = txtPort.Text
.Bind txtPort.Text
End With
Call UDPSenddata(txtMac.Text)
MsgBox "唤醒命令发送完毕!", vbInformation, "提示"
Winsock1.Close
Exit Sub
errorExe:
MsgBox "唤醒失败!", 16, "提示"
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub UDPSenddata(MAC As String)
Dim i As Integer
Dim p As Integer
Dim B() As Byte
Dim DataBuff() As Byte
ReDim B(0 To 5) As Byte
ReDim DataBuff(0 To 101) As Byte '六个FF+十六个重复MAC地址=刚好102个字节
B(0) = Val("&h" & (Mid(MAC, 1, 2)))
B(1) = Val("&h" & (Mid(MAC, 4, 2)))
B(2) = Val("&h" & (Mid(MAC, 7, 2)))
B(3) = Val("&h" & (Mid(MAC, 10, 2)))
B(4) = Val("&h" & (Mid(MAC, 13, 2)))
B(5) = Val("&h" & (Mid(MAC, 16, 2))) '去掉横杠,将字符串转化为数值存入数组B()
For i = 0 To 5
DataBuff(i) = &HFF
Next i '六个FF作为标志
For p = 1 To 16
For i = 0 To 5
DataBuff(p * 6 + i) = B(i)
Next i
Next p '在6个FF后面接着16次重复的mac地址
'注:6个FF加上16个重复的MAC地址是WOL技术标准规定的魔术包内容而已,不用考虑为什么这样做
Winsock1.SendData DataBuff
End Sub