[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 远程开机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()
复制代码

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

TOP

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

1. 下载 winsock.ocx 与配套的 vb6.reg 。
2. 注册 winsock.ocx 。
3. VBS 创建 winsock 对象发送 UDP 广播。
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

谢谢,你的回答

TOP

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

这几个.net对象?vbs创建不了吧

QQ 20147578

TOP

返回列表