开发工具:
文件大小: 216kb
下载次数: 0
上传时间: 2017-09-01
详细说明: 基于Delphi的网络远程唤醒代码,网络上的代码错误很多,这是修改好的可执行源代码,经过测试,能正常唤醒支持网络唤醒的计算机。该代码非常实用。 procedure WakeUp(SAddr: string); var WSAData: TWSAData; MSocket: TSocket; SockAddrIn: TSockAddrIn; RetVal, OptVal, i: Integer; MacAddr: array[0..5] of Byte; MagicData: array[0..1 01] of Byte; Position: Longint; begin try if Length(SAddr) <> 17 then Abort; for i := 1 to Length(SAddr) do if i in [3, 6, 9, 12, 15] then if SAddr[i] <> '-' then Abort; for i := 0 to High(MacAddr) do begin if Pos('-', SAddr) > 0 then MacAddr[i] := StrToInt(HexDisplayPrefix + Copy(SAddr, 1, Pos('-', SAddr) - 1)) else MacAddr[i] := StrToInt(HexDisplayPrefix + SAddr); //Delete 是删除一个 字符串中的 某部分字符 //Delete(str, index, count) // str, //被删除的字符串 // index, //从第几个字符开始删除 // count //删除几个 //Delete(S, 2, 2); 就是从S中的第二个开始删除,删除2个字符即2、3. //Pos(a,b); 取出子串a,在父串b中第一次出现的位置; //Pos'b','abcd'); 返回结果是:2 Delete(SAddr, 1, Pos('-', SAddr)); end; except //application.MessageBox('网卡地址错误','警告',MB_ICONWARING); 错误:MB_ICONWARING application.MessageBox('网卡地址错误', '警告', MB_ICONWARNING); exit; end; try CheckWinSockResult(WSAStartup($0101, WSAData), 'WSAStartup'); MSocket := socket(AF_INET, SOCK_DGRAM, IPPROTO_IP); if MSocket = INVALID_SOCKET then CheckWinSockResult(MSocket, 'socket'); OptVal := 1; CheckWinSockResult(setsockopt(MSocket, SOL_SOCKET, SO_BROADCAST, PChar(@OptVal), SizeOf(OptVal)), 'setsockopt'); FillChar(MagicData, SizeOf(MagicData), $FF); Position := LEN_PHYSADDR; while Position < SizeOf(MagicData) do begin Move(MacAddr, Pointer(Longint(@MagicData) + Position)^, LEN_PHYSADDR); Inc(Position, LEN_PHYSADDR); end; SockAddrIn.sin_family := AF_INET; SockAddrIn.sin_addr.S_addr := Longint(INADDR_BROADCAST); RetVal := sendto(MSocket, MagicData, SizeOf(MagicData), 0, SockAddrIn, SizeOf(SockAddrIn)); if RetVal = SOCKET_ERROR then CheckWinSockResult(RetVal, 'sendto'); CheckWinSockResult(closesocket(MSocket), 'closesocket'); CheckWinSockResult(WSACleanup, 'WSACleanup'); except exit; end; end; ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.