(附源码)c#+winform实现远程开机(广域网可用)

实现逻辑

        利用UDP协议发送特定格式的魔术包,以远程唤醒具有特定MAC地址的目标计算机。目标计算机的BIOS和网络配置需要支持Wake-on-LAN(WOL)功能,并且需要在目标计算机上配置正确的网络唤醒设置。

源码在最后

准备工作

  1. 进入Bios,找到高级设置----》然后找到类似的电源管理、或者设备唤醒的字眼,各个主板所在的位置也不同,然后找到PCI-E设备唤醒,把这个设置为启用,然后保存,等待几秒电脑启动。
  2. 打开电脑的设备管理器,按照图示操作

        

3.win+r打开cmd 输入ipconfig/all。找到物理地址,复制出来等会要用。

4.打开允许远程协助,位置:打开控制面板-----系统和安全

如图所示按照此设置就OK了

源代码

private bool SendWakeOnLanPacket(string macAddress, string ipAddress, int port){try{// 解析MAC地址byte[] macBytes = ParseMacAddress(macAddress);// 创建魔术包byte[] packet = new byte[102];for (int i = 0; i < 6; i++){packet[i] = 0xFF;}for (int i = 1; i <= 16; i++){Buffer.BlockCopy(macBytes, 0, packet, i * 6, 6);}// 创建UDP客户端UdpClient client = new UdpClient();client.Connect(IPAddress.Parse(ipAddress), port);client.Send(packet, packet.Length);client.Close();return true;}catch (Exception ex){MessageBox.Show("发送魔术包时出错: " + ex.Message);return false;}}private byte[] ParseMacAddress(string macAddress){string[] hex = macAddress.Split(':');if (hex.Length != 6){throw new ArgumentException("无效的MAC地址格式。");}byte[] bytes = new byte[6];for (int i = 0; i < 6; i++){bytes[i] = Convert.ToByte(hex[i], 16);}return bytes;}private void button1_Click(object sender, EventArgs e){string macAddress = txtMacAddress.Text;string ipAddress = "192.168.1.20";int port = 30000;if (SendWakeOnLanPacket(macAddress, ipAddress, port)){MessageBox.Show("魔术包发送成功,等待目标电脑唤醒。此过程需要1-2分钟,请查看你的向日葵或者todesk是否显示在线!");}else{MessageBox.Show("魔术包发送失败,请检查输入和网络配置。");}}

此时你就可以实现在局域网内部开启电脑。

广域网远程

假设你的A电脑要远程开机B电脑,B电脑在局域网内,此时需要设置B电脑的路由器的端口转发,

使用场景:晚上突然需要加班,我在家用家里的电脑远程开启公司内的电脑,那么此时就是广域网。符合上述概念。

路由器设置:进入到公司B电脑所在路由器的管理界面,找到高级设置,有个叫端口转发或者虚拟服务器的页签,千万记住、不是端口触发,端口触发设置不了局域网内部的ip地址。

我的路由器叫虚拟服务器,进去之后点击新增,应该会有外部端口、内部端口、ip地址等等,类似于这样

服务名称随便起一个,外部端口范围随便写,比如说4666-4666

内部端口4666-4666、再写入你的B电脑的ip地址,然后就可以实现在家远程自己的电脑啦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/43539.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力学有限元的基石:虚功原理的推导

推导虚功方程的过程 弹性力学的平衡方程 在张量形式中&#xff0c;平衡方程为&#xff1a; ∇ ⋅ σ b 0 \nabla \cdot \sigma b 0 ∇⋅σb0 用下标表示为&#xff1a; ∂ σ i j ∂ x j b i 0 \frac{\partial \sigma_{ij}}{\partial x_j} b_i 0 ∂xj​∂σij​​b…

知识图谱入门笔记

自学参考&#xff1a; 视频&#xff1a;斯坦福CS520 | 知识图谱 最全知识图谱综述 详解知识图谱的构建全流程 知识图谱构建&#xff08;概念&#xff0c;工具&#xff0c;实例调研&#xff09; 一、基本概念 知识图谱&#xff08;Knowledge graph&#xff09;&#xff1a;由结…

Redis管理禁用命令

在redis数据量比较大时&#xff0c;执行 keys * &#xff0c;fluashdb 这些命令&#xff0c;会导致redis长时间阻塞&#xff0c;大量请求被阻塞&#xff0c;cpu飙升&#xff0c;严重可能导致redis宕机&#xff0c;数据库雪崩。所以一些命令在生产环境禁止使用。 Redis 禁用命令…

【C语言】指针(3):探索-不同类型指针变量

目录 一、字符指针变量 二、数组指针变量 三、二维数组传参的本质 四、函数指针变量 4.1 函数指针变量 4.2 函数指针变量的使用 4.3 函数指针变量的拓展 五、函数指针数组 六、转移表的应用 通过深入理解指针&#xff08;1&#xff09;和深入理解指针&#xff08;2&am…

67.SAP FICO-凭证类型学习

目录 SAP凭证类型 凭证类型的作用 - OBA7 SAP默认的凭证类型更改 FI相应事务代码默认凭证类型 - OBU1 对FB50、60、70默认凭证类型的更改 - OBZO 后勤货物移动默认凭证类型 - OMBA 发货凭证类型 收货凭证类型 自动移动凭证类型 存货盘点凭证类型 发票默认的凭证类…

深度学习Day-24:ResNeXt-50算法思考

&#x1f368; 本文为&#xff1a;[&#x1f517;365天深度学习训练营] 中的学习记录博客 &#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制] 要求&#xff1a; 阅读给出代码&#xff0c;判断是否存在错误&#xff0c;正确与否都请给出你的思考&#xff1b;查找…

如何减少开发过程中的bug-数据库篇

1.1慢查询 1.1.1 是否命中索引 提起慢查询&#xff0c;我们马上就会想到加索引。如果一条SQL没加索引&#xff0c;或者没有命中索引的话&#xff0c;就会产生慢查询。 索引哪些情况会失效&#xff1f; 查询条件包含or&#xff0c;可能导致索引失效 如果字段类型是字符串&am…

LeetCode 0724.寻找数组的中心下标:前缀和(时空复杂度O(n)+O(1))

title: 724.寻找数组的中心下标 date: 2024-07-08 13:22:58 tags: [题解, LeetCode, 简单, 数组, 前缀和] 【LetMeFly】724.寻找数组的中心下标&#xff1a;前缀和&#xff08;时空复杂度O(n)O(1)&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/find-pi…

数据结构--二叉树相关习题5(判断二叉树是否是完全二叉树 )

1.判断二叉树是否是完全二叉树 辨别&#xff1a; 不能使用递归或者算节点个数和高度来判断。 满二叉树可以用高度和节点来判断&#xff0c;因为是完整的。 但是完全二叉树前面是满的&#xff0c;但是最后一层是从左到右连续这种 如果仍然用这种方法的话&#xff0c;如下图…

暑期备考2024小学生古诗文大会:吃透真题和知识点(持续)

2024年上海市小学生古诗文大会的自由报名初赛将于10月19日&#xff08;星期六&#xff09;正式开始&#xff0c;还有3个多月的时间。 为帮助孩子们备考&#xff0c;我持续分享往年上海小学生古诗文大会真题&#xff0c;这些题目来自我去重、合并后的1700在线题库&#xff0c;每…

加密与安全_密钥体系的三个核心目标之完整性解决方案

文章目录 Pre机密性完整性1. 哈希函数&#xff08;Hash Function&#xff09;定义特征常见算法应用散列函数常用场景散列函数无法解决的问题 2. 消息认证码&#xff08;MAC&#xff09;概述定义常见算法工作原理如何使用 MACMAC 的问题 不可否认性数字签名&#xff08;Digital …

SketchUp Pro 2024:现代科技之诗意体验

在那遥远的唐朝&#xff0c;李白曾以诗酒为伴&#xff0c;游历山川&#xff0c;挥洒才情。而今&#xff0c;若李白穿越时空&#xff0c;手握现代科技之利器——SketchUp Pro 2024&#xff0c;定会以诗意之笔&#xff0c;描绘这款软件的神奇与魅力。 初识SketchUp Pro 2024 初…

Vue Router:History 模式 vs. Hash 模式

在开发 SPA&#xff08;单页应用程序&#xff09;时&#xff0c;路由管理是不可或缺的一部分。Vue.js 框架中的 Vue Router 提供了两种主要的路由模式&#xff1a;History 模式和 Hash 模式。理解这两种模式的区别及其实现方式&#xff0c;对于开发和部署 Vue 应用至关重要。 …

k8s record 20240708

一、PaaS 云平台 web界面 资源利用查看 Rancher 5台 CPU 4核 Mem 4g 100g的机器 映射的目录是指docker重启后&#xff0c;数据还在 Rancher可以创建集群也可以托管已有集群 先docker 部署 Rancher&#xff0c;然后通过 Rancher 部署 k8s 想使用 kubectl 还要yum install 安…

如何分析前后端bug?

如何分析前后端bug&#xff0c;我来支你1️⃣招 &#x1f4dd;一般通过查看接口的方式分析前后端bug。 . 【方法】&#xff1a; web项目&#xff0c;用浏览器自带的F12抓包看接口请求。 app客户端&#xff0c;一般用fiddler等工具进行抓包接口。 . ✅用经典的电商项目举例&…

应用软件受到网络攻击怎么办?

大家都知道在目前的互联网社会中&#xff0c;大型的网络游戏与电商网站企业是网络攻击的重要对象&#xff0c;同时软件应用也无法避免地会受到各种网络攻击&#xff0c;那么当我们的软件应用被攻击时&#xff0c;该怎么办呢&#xff1f; 首先我们可以使用高防CDN&#xff0c;安…

2. 年龄问题

年龄问题 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 S 夫人一向很神秘。这会儿有人问起她的年龄&#xff0c;她想了想说&#xff1a; "2020 年前&#xff0c;我丈夫的年龄刚好是我的 22 倍&#xff0c;…

ATA-8035射频功率放大器在声动力疗法中的应用

声动力疗法是一种基于声波能量的治疗方法&#xff0c;广泛应用于医疗和美容领域。它利用高强度聚焦的声波来实现切割、破碎或加热组织&#xff0c;以治疗各种疾病和美容问题。在声动力疗法中&#xff0c;射频功率放大器起着至关重要的作用&#xff0c;它负责提供足够的能量来激…

达梦数据库的系统视图v$auditrecords

达梦数据库的系统视图v$auditrecords 在达梦数据库&#xff08;DM Database&#xff09;中&#xff0c;V$AUDITRECORDS 是专门用来存储和查询数据库审计记录的重要系统视图。这个视图提供了对所有审计事件的访问权限&#xff0c;包括操作类型、操作用户、时间戳、目标对象等信…

详解 | 什么是GeoTrust

GeoTrust是一家全球知名的数字证书颁发机构&#xff08;Certificate Authority&#xff0c;简称CA&#xff09;&#xff0c;专注于提供SSL/TLS证书和其他相关的网络安全产品。 1、历史背景&#xff1a; GeoTrust成立于2001年&#xff0c;最初作为一个独立的公司运营。2006年&a…