سلام دوستان
یکی از دوستان کدی رو برای بررسی ارتباط اینترنتی در قسمت 1001 نکته در #C گذاشتند
که در جای خود از این مطلب مفید ازشون تشکر میکنم

اما 1 مشکلی داره که در بعضی از حالت ها مقدار صحیح رو بر نمیگردونه از مواردی که میشه مثال زد و کم هم پیش نمیاد زمانی است که شما ارتباط اینترنتی در یک شبکه داری و به دلایلی ارتباط اینترنت قطع میشه ولی ارتباط شبکه شما برقرار است مگر اینکه شما کانکشن رو قطع کنی مثلاً کارت شبکه رو غیر فعال کنی یا اینکه کابل را قطع کنی یعنی کانکشن رو ببندی اگر نه برنامه همچنان مقدار true را برمیگردونه که این صحیح نیست برای تست این موضوع میتونید در تنظیمات شبکه gateway را بردارید تا ارتباط اینترنت شما قطع بشه اما برنامه همچنان برقراری ارتباط رو نشون میده.
اگر روش بهتری برای بررسی ارتباط اینترنت توسط توابع API میشناسید لطفاً در این تاپیک قرار بدید ضمناً از روشهایی مثل ارسال پینگ یا تل نت به یک سرور نمیتونم استفاده کنم به دلیل اینکه روش پایداری نیست.

using System.Runtime.InteropServices;
 //بررسی اتصال به اینترنت
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState(out int Description, int ReservedValue);
//Creating a function that uses the API function...
bool IsConnectedToInternet()
{
bool a;
int Desc;
a=InternetGetConnectedState(out Desc, 0);
return a;
}