FlightGear飞行模拟器
标题:
新手升级
[打印本页]
作者:
ytb
时间:
2013-7-19 18:23
标题:
新手升级
积分上升太慢了!百度、qq的可以兑换吗?有谁知道否?
作者:
ytb
时间:
2013-7-19 18:24
自己也可以回复吗?
作者:
ytb
时间:
2013-7-19 18:25
这个FG有点水呀!怎么不更加严谨一些呢?!
作者:
ytb
时间:
2013-7-19 19:54
积分规则:
http://www.flightgear.org.cn/hom ... =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
作者:
freeyun
时间:
2013-7-19 23:39
作者:
ytb
时间:
2013-7-21 15:25
这两天太忙了,签个到混一分吧。。。
作者:
ytb
时间:
2013-7-21 18:15
帖点日记,混个积分:
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)
#define MAC_ADDR_LEN 6
#define MAGIC_DATA_LEN 102
#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
ULONG uc=6, pMac[2];
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[uc*3]; // 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[i]);
sprintf(szMac + j, "%02X", p[i]);
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[MAGIC_DATA_LEN]; 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 地址数组
BOOL wakePCs(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[MAGIC_DATA_LEN];
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[i], 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[0]); }
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[6]={0x00,0x0D,0x87,0x1B,0x08,0xA3,};
wakePC(ether_addr);
}
作者:
csutest
时间:
2013-7-22 21:34
金钱不好赚啊。让新来的怎么活
作者:
csutest
时间:
2013-7-22 21:41
金钱不好赚啊。让新来的怎么活
作者:
csutest
时间:
2013-7-22 21:42
金钱不好赚啊。让新来的怎么活
作者:
ytb
时间:
2013-7-23 09:10
明天登陆,只能混1分,嘿嘿。。。
作者:
liuwenzhi
时间:
2013-8-30 11:43
对啊。还要2分。。。。。
欢迎光临 FlightGear飞行模拟器 (https://flightgear.org.cn/)
Powered by Discuz! X3.2