c#开机程序

来源:互联网 发布:java服务器环境搭建 编辑:程序博客网 时间:2024/06/05 18:57

1) 代码
/// <summary>
        /// 发送客户端开机代码
        /// </summary>
        /// <param name="sMac">电脑物理地址</param>
        public static void SendWakeUpMessage(string sMac)
        {
            byte[] bufferSend = new byte[102];
            for (int j = 0; j < 6; j++)
            {
                bufferSend[j] = 0xff;
            }
            //bufferSend.Join
            string[] sTemp = sMac.Split('-');
            byte temp1 = Convert.ToByte(Convert.ToInt32(sTemp[0].ToString(), 16));
            byte temp2 = Convert.ToByte(Convert.ToInt32(sTemp[1].ToString(), 16));
            byte temp3 = Convert.ToByte(Convert.ToInt32(sTemp[2].ToString(), 16));
            byte temp4 = Convert.ToByte(Convert.ToInt32(sTemp[3].ToString(), 16));
            byte temp5 = Convert.ToByte(Convert.ToInt32(sTemp[4].ToString(), 16));
            byte temp6 = Convert.ToByte(Convert.ToInt32(sTemp[5].ToString(), 16));

            for (int i = 1; i < 17; i++)
            {
                bufferSend[i * 6 + 0] = temp1;
                bufferSend[i * 6 + 1] = temp2;
                bufferSend[i * 6 + 2] = temp3;
                bufferSend[i * 6 + 3] = temp4;
                bufferSend[i * 6 + 4] = temp5;
                bufferSend[i * 6 + 5] = temp6;
            }

            UdpClient sender = new UdpClient();
            IPEndPoint groupEP = new IPEndPoint(IPAddress.Broadcast, 9095);

            try
            {
                sender.Send(bufferSend, bufferSend.Length, groupEP);
                sender.Close();
            }
            catch (Exception ex)
            {
                Lintway_Case_Base.Log.WriteLog(ex.ToString());
            }
        }
2) 远程开机配置
右击我的电脑—管理—设备管理—网络适配器—右击网卡—属性
a) 高级—关机网络唤醒(开启)—网路唤醒模式(样式比对及魔术包)
b) 电源管理—勾选允许计算机关闭此设备以节约电源,勾选允许此设备使计算机脱离待机状态。
c) 主板BIOS设置“Power Management Setup”菜单—将“Wake up on LAN”项或“Wake on PCI Card”项均设置为“Enable(打开)”;如果是独立网卡,TF-3239网卡上的“Wake-on-LAN”功能设置为“Enable”

原创粉丝点击