新手升级
积分上升太慢了!百度、qq的可以兑换吗?有谁知道否? 自己也可以回复吗? :@:dizzy: 这个FG有点水呀!怎么不更加严谨一些呢?!:@:dizzy: 积分规则:http://www.flightgear.org.cn/home.php?mod=spacecp&ac=credit&op=rule
参与投票 每天 10 0 +1 0 0
每天登录 每天 1 0 +1 0 0
视频认证 一次性 1 0 +10 0 0
设置头像 一次性 1 0 +5 0 0
邮箱认证 一次性 1 0 +5 0 0
注册推广 不限周期 不限次数 0 +2 0 0
访问推广 不限周期 不限次数 0 +1 0 0
下载附件 不限周期 不限次数 0 -2 0 0
加精华 不限周期 不限次数 0 +5 0 0
发表回复 不限周期 不限次数 0 +1 0 0
发表主题 不限周期 不限次数 0 +2 0 0 :) 这两天太忙了,签个到混一分吧。。。;P 帖点日记,混个积分:
2秒前
好学习+坏消息
今天,构建colobot失败,很沮丧;
远程开关机搞定,弥补了沮丧,嘿嘿。。。
// 保存为 WakeUp1.txt
//#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
//#include <stdlib.h>// putenv(
//#include <winsock2.h>
#include "iphlpapi.h"
#include <assert.h>
#define TRACE(a,b) printf(a)
#defineMAC_ADDR_LEN6
#defineMAGIC_DATA_LEN102
#pragma comment(lib, "ws2_32")
#pragma comment(lib, "./IpHelper/iphlpapi.lib")
void erInfo(HRESULT hr, const char*proc=0){
LPVOID pm;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,
0,hr, 0, // MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT), // LANG_DEFAULT: Default language
(LPTSTR) &pm, 0, 0);
if(proc) printf("%s error: hr=%8X -- %s", hr,pm); // Display the string.
else printf("hr=%8X -- %s", hr,pm);
LocalFree( pm );// Free the buffer.
}
bool getMac(const char * pIP=0, char*szmac=0){if(!pIP) pIP="172.16.39.1";// "216.145.25.31";// Test
ULONGuc=6, pMac;
memset(pMac, 0xff, sizeof(pMac)); printf("\n...... sizeof(pMac)=%d ......\n",sizeof(pMac));
IPAddr ipAddr = inet_addr(pIP);
HRESULT hr = SendARP(ipAddr, 0, pMac, &uc);//--- iphlpapi.h
erInfo(hr);
printf ("Return %8X,\t length %8d\n", hr, uc);
if(uc<1) return 0;
size_t i, j;
char * szMac = new char;// eg: 00-D0-4C-BF-52-BA
PBYTE p = (PBYTE) pMac;
// Convert the binary MAC address into human-readable
for (i = 0, j = 0; i < uc - 1; ++i)j += sprintf (szMac + j, "%02X-", p);
sprintf(szMac + j, "%02X", p);
printf("MAC address %s\n", szMac);
if(szmac) memcpy(szmac,szMac,uc*3);// 18 B
delete [] szMac;
return true;
}
// wakePC, wakeup single PC. 输入6个字节的 mac 地址
bool wakePC(const unsigned char pMac[]){assert(pMac);
WSADATA wsaData;
int err = WSAStartup( MAKEWORD(2, 2), &wsaData );
if( err != 0 ) {erInfo(WSAGetLastError(), "WSAStartup");// sprintf("WSAStartup error %d !", WSAGetLastError());
return false;
}
assert( LOBYTE( wsaData.wVersion ) == 2 && HIBYTE( wsaData.wVersion ) == 2);
char szMagicData;memset(szMagicData, 0xff, sizeof(szMagicData));
for(int i=MAC_ADDR_LEN; i<MAGIC_DATA_LEN; i+=MAC_ADDR_LEN)
memcpy(szMagicData+i, pMac, sizeof(unsigned char)*MAC_ADDR_LEN);
int iloop=0;
do{
SOCKET sFirst = socket(AF_INET, SOCK_DGRAM, 0);
if (sFirst == INVALID_SOCKET){erInfo(WSAGetLastError(),"socket"); break; }
do{
BOOL bOpt = TRUE;int iOpt = sizeof(BOOL);
err = setsockopt(sFirst, SOL_SOCKET, SO_BROADCAST, (char*)&bOpt, iOpt);
if(err == SOCKET_ERROR) {erInfo(WSAGetLastError(),"setsockopt"); break; }
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(0);
addr.sin_addr.s_addr = htonl(INADDR_BROADCAST);
err = sendto(sFirst, szMagicData, sizeof(szMagicData), 0, (LPSOCKADDR)&addr, sizeof(addr));
if (err == SOCKET_ERROR) {erInfo(WSAGetLastError(),"sendto"); break; }
else printf("Magic package sent to %s!\n", pMac);
} while(0);// do not loop!
err = closesocket(sFirst);
if(err == SOCKET_ERROR){erInfo(WSAGetLastError(),"closesocket"); break; }
iloop++; } while(iloop<1);// do not loop!
err = WSACleanup();
if( err == SOCKET_ERROR ) {erInfo(WSAGetLastError(),"WSACleanup"); return false; }
return true;
}
// wakePC, wakeup a series of PC's.输入6个字节的 mac 地址数组
BOOLwakePCs(int iNum, const unsigned char* pszMac[]){assert(pszMac);
WSADATA wsaData; int err = WSAStartup( MAKEWORD(2, 2), &wsaData );
if( err != 0 ) { erInfo(WSAGetLastError(), "WSAStartup");return false; }
assert( LOBYTE( wsaData.wVersion ) == 2 && HIBYTE( wsaData.wVersion ) == 2);
do{
SOCKET sFirst = socket(AF_INET, SOCK_DGRAM, 0);
if (sFirst == INVALID_SOCKET){erInfo(WSAGetLastError(),"socket"); break; }
do{
BOOL bOpt = TRUE;int iOpt = sizeof(BOOL);
err = setsockopt(sFirst, SOL_SOCKET, SO_BROADCAST, (char*)&bOpt, iOpt);
if(err == SOCKET_ERROR) {erInfo(WSAGetLastError(),"setsockopt"); break; }
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(0);
addr.sin_addr.s_addr = htonl(INADDR_BROADCAST);
char szMagicData;
for(int i=0; i<iNum; i++){
memset(szMagicData, 0xff, sizeof(szMagicData));
for(int i=MAC_ADDR_LEN; i<MAGIC_DATA_LEN; i+=MAC_ADDR_LEN){
memcpy(szMagicData+i, pszMac, sizeof(unsigned char)*MAC_ADDR_LEN);
}
err = sendto(sFirst, szMagicData, sizeof(szMagicData), 0, (LPSOCKADDR)&addr, sizeof(addr));
if (err == SOCKET_ERROR) {erInfo(WSAGetLastError(),"sendto"); break; }
else{ Sleep(0); printf("Magic package sent to %s!\n", pszMac); }
Sleep(0);
} // for
} while(0);
err = closesocket(sFirst);
if(err == SOCKET_ERROR){erInfo(WSAGetLastError(),"closesocket"); break; }
}while(0);
err = WSACleanup();
if( err == SOCKET_ERROR ) {erInfo(WSAGetLastError(),"WSACleanup"); return false; }
return true;
}
void main(){
// getMac();
unsigned char ether_addr={0x00,0x0D,0x87,0x1B,0x08,0xA3,};
wakePC(ether_addr);
} 金钱不好赚啊。让新来的怎么活 金钱不好赚啊。让新来的怎么活 金钱不好赚啊。让新来的怎么活
页:
[1]
2