?? wangluohuanxing.txt
字號:
VB中編程實現遠程喚醒方法:
1、 使用WINSOCK1 的UDP協議來發送數據包;
2、 要使局域網中的電腦開機,就要知道遠程計算機的MAC地址;
3、 數據發送格式為Byte型十六進制數據;
4、 要發送的數據為: FF FF FF FF FF FF 和十六個6位的MAC;
5、 主板設置:將CMOS設置中的“Power Management Setup”的“Wake Up On LAN”項設置為“Enable”即可;
6、 網卡與主板連接:主板上通常都有一個專門的3芯插座,以便在關機時為網卡供電,支持遠程喚醒的網卡上都有一個3針的WOL接口和一條3芯的遠程喚醒電纜,通過判斷網卡是否帶有WOL接口即可
7、 因為條件有限只在INTER865主板上測試通過;
Private Sub InitUDPSOCK()
With Winsock1
.Protocol = sckUDPProtocol
.RemoteHost = "255.255.255.255" ‘或者使用局域網段如”192.168.XXX..255”
.RemotePort = 7010
.Bind 7010
End With
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
'這部分是舉例的MAC碼00-11-11-1C-D9-50
B(0) = Val("&h" & (Mid(MAC, 1, 2))) '&H0
B(1) = Val("&h" & (Mid(MAC, 4, 2))) '&H11
B(2) = Val("&h" & (Mid(MAC, 7, 2))) '&H11
B(3) = Val("&h" & (Mid(MAC, 10, 2))) '&H1C ' 此處修改 mid中的位數 ,可以實現 0011111CD950 格式..
B(4) = Val("&h" & (Mid(MAC, 13, 2))) '&HD9
B(5) = Val("&h" & (Mid(MAC, 16, 2))) '&H50
'這是起始的6字節FF
For i = 0 To 5
DataBuff(i) = &HFF
Next i
'16個6字節的MAC碼
'這部分也可以用API的CopyMemory 來寫
For p = 1 To 16
For i = 0 To 5
DataBuff(p * 6 + i) = B(i)
Next i
Next p
’輸出顯示發送碼(調試時使用)
For i = 0 To 101
If Len(Hex(DataBuff(i))) = 1 Then
StrA$ = StrA$ & "0" & Hex(DataBuff(i)) & " "
Else
StrA$ = StrA$ & Hex(DataBuff(i)) & " "
End If
Next i
DUBEG.PRINT StrA$
Winsock1.SendData DataBuff
End Sub
Private Sub Command1_Click()
Call UDPSenddata("00-11-11-1C-D9-50")’MAC
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -