我發現了更多的源代碼,它們像ping一樣工作。我唯一的問題是,如果我用非管理用戶運行該程序,那麼我會返回錯誤代碼10013,這意味着:「試圖以禁止其訪問權限的方式訪問套接字」。如果我與管理員團隊成員的用戶運行該程序,那麼它工作正常。sendto失敗,發現錯誤代碼爲10013的非管理員用戶
nResult = sendto (sock, pSendBuffer, sizeof (ICMPheader) + nMessageSize, 0, (SOCKADDR *)&dest, sizeof (SOCKADDR_IN));
::GetSystemTime (&timeSend);
++nPacketsSent;
if (nResult == SOCKET_ERROR)
{
cerr << endl << "An error occured in sendto operation: " << "WSAGetLastError() = " << WSAGetLastError() << endl;
}
任何人都可以幫助我解決這個問題,或告訴我爲什麼非管理員用戶不能使用此代碼?如果沒有,那麼我會appriciate一些代碼,我可以使用不是管理員組的成員的用戶。
在此先感謝!
kampi
你是對的!這會容易得多,但我需要icmplib.lib來編譯ICMPSendEcho2程序,但是我找不到icmplib.lib。你知道我在哪裏可以得到它嗎?感謝提前! – kampi 2009-10-26 18:42:41
你的意思是iphlpapi.lib?這應該包含在你的編譯器中(它當然是用Visual Stdio 2008)。或者,您可以下載Windows SDK(請參閱http://msdn.microsoft.com/en-us/windows/bb980924.aspx) – cmeerw 2009-10-26 18:54:00
不,我的意思是icmplib.lib。但它是我的錯誤:)我ususally使用未識別ICMPSendEcho2的Dev-C++,因爲它需要icmplib.lib,但我找不到它,所以我用Visual Studio編譯,而這一個不需要icmplib.lib。我的錯誤,對不起:) – kampi 2009-10-26 19:31:49