pe32_64
چهارشنبه 06 مهر 1390, 13:55 عصر
با این روش می توانید آدرس های محلی کامپیوتر خود را به وسیله ی Winsock به دست آورید.
پس از لینک کردن فایل lib و اضافه کردن فایل h به صورت زیر ادامه می دیم:
کتابخانه ی winsock را آماده به کار می کنیم:
WSADATA wsaData;
int iResult;
iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
if (iResult != 0)
return FALSE ;
تابع گرفتن اسم محلی را صدا می زنیم:
CHAR szHost[257];
gethostname(szHost,256);
بعد تابع گرفتن آدرس های محلی از اسم محلی را صدا می زنیم:
HOSTENT* host = 0;
host = gethostbyname(szHost);
در آخر اسم و آدرسهای محلی رو چاپ می کنیم و کتابخانهWinsock رو از حالت آماده به کار خارج می کنیم:
str.AppendFormat("Host Name : %s\r\nHost IpAddresses:",host->h_name);
for(int i = 0;host->h_addr_list[i];i++)
str.AppendFormat(("\r\n%s"),inet_ntoa(*(in_addr*)host->h_addr_list[i]));
WSACleanup();
یک برنامه ی کامل هم که این کارا رو انجام می ده براتون گذاشتم
اگه مطالب به دردتون خورد تشکر هم بکنید!
پس از لینک کردن فایل lib و اضافه کردن فایل h به صورت زیر ادامه می دیم:
کتابخانه ی winsock را آماده به کار می کنیم:
WSADATA wsaData;
int iResult;
iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
if (iResult != 0)
return FALSE ;
تابع گرفتن اسم محلی را صدا می زنیم:
CHAR szHost[257];
gethostname(szHost,256);
بعد تابع گرفتن آدرس های محلی از اسم محلی را صدا می زنیم:
HOSTENT* host = 0;
host = gethostbyname(szHost);
در آخر اسم و آدرسهای محلی رو چاپ می کنیم و کتابخانهWinsock رو از حالت آماده به کار خارج می کنیم:
str.AppendFormat("Host Name : %s\r\nHost IpAddresses:",host->h_name);
for(int i = 0;host->h_addr_list[i];i++)
str.AppendFormat(("\r\n%s"),inet_ntoa(*(in_addr*)host->h_addr_list[i]));
WSACleanup();
یک برنامه ی کامل هم که این کارا رو انجام می ده براتون گذاشتم
اگه مطالب به دردتون خورد تشکر هم بکنید!