• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

ترفندهای برنامه‌نويسی تشخيص اتصال به اينترنت

client

کاربر تازه وارد
تاریخ عضویت
11 آپریل 2006
نوشته‌ها
47
لایک‌ها
0
ترفند: تشخيص اتصال به اينترنت
سكو: Win9X, WinNT,WinME, Win2000
زبان: تمام زبان‌های كاربردنويسی تحت ويندوز
در این ترفند روش تشخيص اتصال به اينترنت توسط برنامه توضیح داده می شود . شايد به اين موضوع دقت كرده‌ باشيد كه در خيلی از برنامه‌های ارتباطی از جمله Messengerها، به محض ارتباط با اينترنت برنامه Messenger هم فعال شده و شروع به عمليات تعيين شده می‌كند.

ما نيز در اين ترفند روشی را معرفی می‌كنيم كه به كمك آن می‌توانيد به راحتی متصل بودن يا نبودن به اينترنت را از طريق برنامه خود متوجه شويد. البته انجام اين كار مستلزم وجود يك حلقه دائمی برای اجراست (مانند يك Thread يا وضعيتldle برنامه) كه به طور دائم وضعيت اتصال به اينترنت را تعيين كرده و در صورت اتصال، عمليات موردنظر را انجام‌دهد.

در API ويندوز، تابعی وجود دارد به نام Inetls Offline كه اين كار را برای ما انجام می‌دهد. برای استفاده از اين تابع در مترجم‌های زبان C بايد فايل Intshcut.h را include كنيد. شرح اين تابع بصورت زيراست:


(BOOL InetlsOffline (DWORD dwFlags


پارامتر dwFlags هنوز پياده‌سازی نشده و بايد مقدار آن مساوی صفر باشد. اگر مقدار بازگشتی اين تابع TRUEباشد، آنگاه به اينترنت متصل نيستيم و FALSE بودن آن نشان دهنده اتصال ما به اينترنت است. سورس و فايل اجرايی نمونه اين ترفند را می‌توانيد از سايت مجله در قسمت downloads تحت نام tnt6_check_connected.zip دريافت نمائید.
لطفا از سایت هنری شمعهای تزئینی دیدن فرمائید.
URL="www.psbazar.com"]]www.psbazar.com[/URL]]
 

شايان

مدیران قدیمی
تاریخ عضویت
2 سپتامبر 2003
نوشته‌ها
4,814
لایک‌ها
9
ممنون .

میشه این کار رو تو vb یکی انجام بده . ( sample ش رو هم اگه بذارید ممنون میشم )
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
این برای VB :
کد:
Private Declare Function InetIsOffline Lib "url.dll" (ByVal dwFlags As Long) As Long
Private Sub Form_Load()
    'KPD-Team 2001
    'URL: http://www.allapi.net/
    'E-Mail: [email protected]
    'InetIsOffline returns 0 if you're connected
    MsgBox "Are you connected to the internet? " + CStr(CBool(Not (InetIsOffline(0)))), vbInformation
End Sub
 

saalek

مدیر بازنشسته
تاریخ عضویت
24 می 2005
نوشته‌ها
654
لایک‌ها
53
محل سکونت
در پاي كوهپايه ها
پرهام جان ميشه توضيح بيشتري بدهيد.
آيا بايد رفرنسي باز بشه؟

من زمان كانكتم را هميشه مي نويسم . ميشه با اين اتوماتيك بشه.
.
.
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
سالک عزیز،
نیازی به رفرنس نداره. کافیه تو vb6 یک پروژه باز کنید و در بخش کد فرم این کد رو به جای کدهای موجود جایگزین کنید.
خط اول این کد تعریف تابع بر اساس API هست و خطوط بعدی هم رویداد Form_Load که چهار خط داخلش توضیحه و فقط خط پنجم هست که با یک MsgBox به شما پیغام میده که به اینترنت متصل هستید و یا خیر.
 
بالا