zoukankan      html  css  js  c++  java
  • QT使用WOL实现远程一键开机(局域网,需要目标电脑的主板支持,并且插上网线,用udpSocket.writeDatagram一句话就可以)

    功能:让关机的电脑一键开机,需要目标电脑的主板支持,并且插上网线;

    效果:相当于手动按了一下目标电脑的开关机按钮。

    没啥技术含量,简单开说...

    1.获取目标机MAC地址

    QByteArray sMacAddr("00-1f-16-26-d5-73");

    2.封装魔法包chMagicPacket

    复制代码
     char chMacAddr[9];//应该是6个字符,但是如果写6个字符,下面sscanf_s会报错,所以写大点
     char chMagicPacket[104];
     const char *lpMacAddr=sMacAddr.data();
    
     sscanf_s( lpMacAddr,"%2x-%2x-%2x-%2x-%2x-%2x",
               &chMacAddr[0],&chMacAddr[1],&chMacAddr[2],
               &chMacAddr[3],&chMacAddr[4],&chMacAddr[5] );
    
     memset(chMagicPacket,0xff,6);
     int packetsize=6;
     for(int i=0;i<16;i++){
         memcpy(chMagicPacket+packetsize,chMacAddr,6);
            packetsize+=6;
     }
    复制代码

    3.发送魔法包

    udpSocket.writeDatagram(chMagicPacket, 102, QHostAddress("255.255.255.255"), 50209);

    http://www.cnblogs.com/luoxiang/p/5413096.html

  • 相关阅读:
    序列化与反序列化
    进程与线程
    winform基础
    MD5加密
    Docker安装Nextcloud+collabora office+ocdownloader
    Docker安装MariaDB
    Docker 安装 Nginx
    Docker命令大全
    Docker之镜像操作
    Linux入门-Docker安装
  • 原文地址:https://www.cnblogs.com/findumars/p/6009474.html
Copyright © 2011-2022 走看看