void TForm1::WakeUpRemote(AnsiString IPAddress,unsigned char * MacAddress)
{
unsigned char SendBuf[102];
for( int i = 0; i < 102; i ++)
{
SendBuf[i] = (i < 6) ? 0xFF : MacAddress[i%6];
}
TMemoryStream * MemoryStream = new TMemoryStream();
MemoryStream -> Clear();
MemoryStream -> Write(SendBuf,102);
NMUDP1 -> RemoteHost = IPAddress;
NMUDP1 -> SendStream(MemoryStream);
delete MemoryStream;
ShowMessage("已經發送!");
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
WakeUpRemote(AnsiString("192.168.226.100"),(unsigned char *)AnsiString("009030032FF3").c_str());
}
我抄了網上的代碼,寫了Button1Click,結果發現不行,是這個引數有問題嗎?
(unsigned char *)AnsiString("009030032FF3").c_str()
那該怎么寫才是正確的?求大俠解答。
uj5u.com熱心網友回復:
不明覺厲
uj5u.com熱心網友回復:
//(unsigned char *)AnsiString("009030032FF3").c_str()改成下面這樣試下
unsigned char my_mac[]={0x00,0x90,0x30,0x03,0x2f,0xf3};
uj5u.com熱心網友回復:
遠程喚醒技術(WOL,Wake-on-LAN) 是由網卡配合其他軟硬體,可以通過局域網實作遠程開機的一種技術,無論被訪問的計算機離我們有多遠、處于什么位置,只要處于同一局域網內,就都能夠被隨時啟動。這種技術非常適合具有遠程網路管理要求的環境,如果有這種要求在選購網卡時應注意是否具有此功能。
可被遠程喚醒的計算機對硬體有一定的要求,主要表現在網卡、主板和電源上。
1.網卡 能否實作遠程喚醒,其中最主要的一個部件就是支持WOL的網卡。遠端被喚醒計算機的網卡必須支持WOL,而用于喚醒其他計算機的網卡則不必支持WOL。另外,當一臺計算機中安裝有多塊網卡時,只將其中的一塊設定為可遠程喚醒。
2.主板 主板也必需支持遠程喚醒,可通過查看CMOS的"Power Management Setup"選單中是否擁有"Wake on LAN"項而確認。另外,支持遠程喚醒的主板上通常都擁有一個專門的3芯插座,以給網卡供電(PCI2.1標準)。 由于現在的主板通常支持PCI 2.2標準,可以直接通過PCI插槽向網卡提供+3.3V Standby電源,即使不連接WOL電源線也一樣能夠實作遠程喚醒,因此,可能不再提供3芯插座。主板是否支持PCI2.2標準,可通過查看CMOS的"Power Management Setup"選單中是否擁有"Wake on PCI Card"項來確認。
3.電源 若欲實作遠程喚醒,計算機安裝的必須是符合ATX 2.01標準的ATX電源,+5V Standby電流至少應在600mA以上。
計算機擁有遠程喚醒功能并不等于能夠實作遠程喚醒,在實作之前,還必須對硬體作必要的連接和設定。以及需要借助相應的軟體才能實作。例如使用AMD公司的Magic Packet來作為遠程喚醒軟體等。
uj5u.com熱心網友回復:
先看看你的網卡及網卡的配置,然后用AMD公司的Magic Packet遠程喚醒軟體測驗一下,正常后再用程式測驗轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/123324.html
標籤:基礎類
上一篇:為什么this指標只在非static成員函式中才有效?
下一篇:soj問題2800
