首页 > 代码库 > QT使用WOL实现远程一键开机(局域网,需要目标电脑的主板支持,并且插上网线)
QT使用WOL实现远程一键开机(局域网,需要目标电脑的主板支持,并且插上网线)
功能:让关机的电脑一键开机,需要目标电脑的主板支持,并且插上网线;
效果:相当于手动按了一下目标电脑的开关机按钮。
没啥技术含量,简单开说...
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
QT使用WOL实现远程一键开机(局域网,需要目标电脑的主板支持,并且插上网线)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。