Board logo

标题: [问题求助] 远程开机VB代码,能改为vbs代码吗 [打印本页]

作者: zhangop9    时间: 2014-12-24 14:45     标题: 远程开机VB代码,能改为vbs代码吗

远程开机VB代码,能改为vbs代码吗
  1. Dim strIP As String = "192.168.1.1" 'IPアドレス
  2. Dim strMAC As String = "00-00-00-00-00-00" 'マックアドレス
  3. '送信データを作成
  4. Dim intCounter As Integer = 0
  5. Dim sendBytes(0 To 101) As Byte
  6. '最初に&hFFを6個付ける
  7. For I = 1 To 6
  8.     sendBytes(intCounter) = &HFF
  9.     intCounter += 1
  10. Next
  11. 'MACアドレスを16回繰り返す
  12. For I = 1 To 16
  13.     'MACアドレス読込み
  14.     For J = 0 To 5
  15.         '16進数を変換して読込み
  16.         sendBytes(intCounter) = Byte.Parse(strMAC.Substring(J * 3, 2), Globalization.NumberStyles.HexNumber)
  17.         intCounter += 1
  18.     Next
  19. Next
  20. 'データを送信するポート番号
  21. Dim RemotePort As Integer = 2304 '何でも良い
  22. '送信先IP指定(ブロードキャストとピンポイントの両方に送信してみる)
  23. Dim BCIP As System.Net.IPAddress
  24. Dim EP As System.Net.IPEndPoint
  25. Dim UDP As New System.Net.Sockets.UdpClient'UDP接続
  26. 'ブロードキャストアドレス指定で送信するとき
  27. BCIP = System.Net.IPAddress.Parse("255.255.255.255")
  28. EP = New System.Net.IPEndPoint(BCIP, RemotePort)
  29. '送信先を指定してデータを送信する
  30. UDP.Send(sendBytes, sendBytes.Length, EP)
  31. 'ピンポイントのIPアドレス指定して送信するとき
  32. BCIP = System.Net.IPAddress.Parse(strIP)
  33. EP = New System.Net.IPEndPoint(BCIP, RemotePort)
  34. '送信先を指定してデータを送信する
  35. UDP.Send(sendBytes, sendBytes.Length, EP)
  36. 'UDP接続を終了
  37. udp.Close()
复制代码

作者: czjt1234    时间: 2014-12-24 17:04

Dim BCIP As System.Net.IPAddress
Dim EP As System.Net.IPEndPoint
Dim UDP As New System.Net.Sockets.UdpClient

这几个.net对象?vbs创建不了吧
作者: zhangop9    时间: 2014-12-25 15:26

谢谢,你的回答
作者: yu2n    时间: 2015-1-2 13:24

印象中有 VBS 调用 winsock.ocx 发送 UDP 广播的例子。
我没有测试过,你可以试试。

1. 下载 winsock.ocx 与配套的 vb6.reg 。
2. 注册 winsock.ocx 。
3. VBS 创建 winsock 对象发送 UDP 广播。
作者: yiwuyun    时间: 2015-1-3 12:18

有很多第三方远程开关机的CMD程序都可以很轻松实现上面功能,而且简单明了得多。我常用的一个是WolCmd.exe




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2