الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف تقوم بطلب الاتصال الافتراضي بالانترنت برمجيا

مغلق
بدأه محمد سامر أبو سلو في 28 أكتوبر 2005 · 21 رد · 1,952 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

منذ فترة طرحت موضوعا بعنوان إحدى الطرق لمعرفة هل يوجد اتصال بالإنترنت برمجيا وقد سأل أحد الإخوة عن كيفية إنشاء اتصال بالانترنت برمجيا وإليكم جواب السؤال في موضوع مستقل وذلك بهدف تعميم الفائدة على الجميع

سأستخدم دالة تقوم بطلب الاتصال الافتراضي بالانترنت اسمها InternetAutodial وإليكم تعريفها

Private Declare Auto Function InternetAutodial Lib "wininet.dll" (ByVal dwFlags As Long, ByVal hwndParent As Integer) As Boolean

وهي تأخذ الثوابت التالية كقيم للبارامتر dwFlags

    Private Const INTERNET_AUTODIAL_FORCE_ONLINE = 1
    Private Const INTERNET_AUTODIAL_FORCE_UNATTENDED = 2
    Private Const INTERNET_AUTODIAL_FAILIFSECURITYCHECK = 4
    Private Const INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT = 8

وهذا مثال عن استخدامها

        If InternetAutodial(0, Me.Handle.ToInt32) Then
            MsgBox("Internet is connected Now", MsgBoxStyle.Exclamation)
        Else
            MsgBox("Internet is not connected Now", MsgBoxStyle.Critical)
        End If

ولكن أثناء التجربة وجدت انها أيضا تفيد في معرفة هل يوجد اتصال بالانترنت أم لا وإليكم في المرفقات السورس كود لبرنامج يضم استخدام هذه الدالة وأيضا استخدام الدالة InternetGetConnectedStateEx التي تعطيك معلومات حول حالة الاتصال الحالي بالإنترنت

بقي شئ واحد ويكتمل موضوعي مبدئيا هو سرد لأسماء بعض الدالات المفيدة المتعلقة بالانترنت

InternetAutodial
InternetAutodialHangup
InternetDial
InternetGetConnectedState
InternetHangUp
InternetGoOnline

WindowsApplication1.zip

تم تعديل هذه المشاركة بواسطة samerselo في 28 أكتوبر 2005 في 14:55

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#2

يمكن استخدام أحد الدالتين التاليتين لقطع الاتصال بالانترنت

    Private Declare Auto Function InternetAutodialHangup Lib "wininet.dll" (ByVal dwReserved As Long) As Boolean

    Private Declare Auto Function InternetHangUp Lib "wininet.dll" (ByVal dwConnection As Long, ByVal dwReserved As Long) As Boolean

وذلك بسطر واحد بسيط فمثلا يمكنك استخدام الدالة الأولى لقطع الاتصال مثلا

MsgBox(InternetAutodialHangup(0))

مرفق المثال السابق مضافا اليه تعريف الدالتين ومثال استخدام الدالة الأولى

WindowsApplication1.zip

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#3

جزاك الله كل خير

جارى التحميل والتجربة......

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#4

لا شكر على واجب

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#5

حاولت استخدام نفس البرنامج باستخدام فيجوال بيسك 2005

وظهر لي اخطأ ما السبب؟؟

نص الخطأ

A call to PInvoke function 'WindowsApplication1!WindowsApplication1.Form1::InternetAutodial' has unbalanced the stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature.

وما احتاجه فعلا هو فقط استدعاء النافذة التي يكتب فيها رقم الاتصال اذا لم يكن لدي اتصال بالانترنت

اما اذا كان هناك اتصال فلا داعي لها

تم تعديل هذه المشاركة بواسطة Romantic_touch في 10 ديسمبر 2005 في 15:39

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#6

هناك مثال في منتدى الـ #C بقليل من الخبرة في الدوت نت تستطيع تحويله إلى VB

InternetConnection, معرفة حالة النت وأشياء أخرى

وقريباً سوف أقوم بوضع برنامج يقوم بتحويل الكود من #C إلى VB.net

أتمنى لكم التوفيق

تم تعديل هذه المشاركة بواسطة TarekNajem04 في 10 ديسمبر 2005 في 16:00

لا تفعل إلا ما تستطيع أن تقوله ولا تقول إلا ما تسطيع أن تفعله

اللهم علمنا ما ينفعنا ونفعنا بما علمتنا وهب لنا من لدنك ولياً مرشدا

كلما أدبني الدهر أراني نقص عقلي ... وإذا ما زدت علماً زادني علماً بجهلي

أخوكم في الله أبو المجد

هيا نتعلم بعض المبادء لنطرق باب الإحتراف ************** جديد الدروس ( Application Domains and Assemblies)

التوقيت في دمشق:

<embed src="http://www.clocklink.com/clocks/0006-Gray.swf?TimeZone=R1T" width="200" height="240" wmode="transparent" type="application/x-shockwave-flash">

#7
Romantic_touch كتب:
حاولت استخدام نفس البرنامج باستخدام فيجوال بيسك 2005

وظهر لي اخطأ ما السبب؟؟

نص الخطأ

A call to PInvoke function 'WindowsApplication1!WindowsApplication1.Form1::InternetAutodial' has unbalanced the stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature.

وما احتاجه فعلا هو فقط استدعاء النافذة التي يكتب فيها رقم الاتصال اذا لم يكن لدي اتصال بالانترنت

اما اذا كان هناك اتصال فلا داعي لها

لم أجرب تحويل الكود بعد للفيجول 2005 ولكنه كان يعمل بشكل رائع على الـ 2003 على كل حال بجرب وبحاول رد خبر قريبا إن شاء الله

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#8

السبب في رسالة الخطأ التي ظهرت للأخ هو خطأ في التعريف في البرنامج المعمول على الـ 2003 و لكن بيئة البرمجة تجاهلته وتابعت ولكن الـ 2005 أعطى خطأ بسببها ولتصحيح الخطأ كل ما عليك هو تغيير أي متغير معرف من نوع Long و جعله من نوع Integer حتى في تعريف Declare الإجراءات في بداية الـ Class

أرجو المعذرة من الجميع

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#9

@ Romantic_touch

تفضل هذا البرنامج مصححا - منتظر ردك بعد التجريب

@ TarekNajem04

لا داعي للتحويل من #C المسألة مجرد خطأ في تعريف المتغيرات وقد تم التصحيح

@ الجميع

مرفق البرنامج بعد التصحيح والتحويل لـ 2005

WindowsApplication2.zip

تم تعديل هذه المشاركة بواسطة samerselo في 11 ديسمبر 2005 في 03:50

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#10

جربتها على جهازي وطلعت مزبوطة

بس ناقصة حق كيف افصل الاتصال او اقطع الاتصال

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#11

أخي الكريم جزاك الله خير والله يعطيك العافية على تعبك

ولكن أنتبه نحن لم نكتب مشاركاتنا لكي ننقص من حقك بل لتعم الفائدة على الجميع

ليس المهم من كتب البرنامج المهم أن تعم الفائدة على لجميع

أن خالفتك الرأي فليس رأيك هويتك ولن يفسد الأختلاف للود قضية

لا تفعل إلا ما تستطيع أن تقوله ولا تقول إلا ما تسطيع أن تفعله

اللهم علمنا ما ينفعنا ونفعنا بما علمتنا وهب لنا من لدنك ولياً مرشدا

كلما أدبني الدهر أراني نقص عقلي ... وإذا ما زدت علماً زادني علماً بجهلي

أخوكم في الله أبو المجد

هيا نتعلم بعض المبادء لنطرق باب الإحتراف ************** جديد الدروس ( Application Domains and Assemblies)

التوقيت في دمشق:

<embed src="http://www.clocklink.com/clocks/0006-Gray.swf?TimeZone=R1T" width="200" height="240" wmode="transparent" type="application/x-shockwave-flash">

#12

@TarekNajem04

انت فهمتني غلط وأنا ما فكرت بيللي كتبتوا نهائي بس القصد أنو الكود هون واضح و الأداة يللي عم تحكي عنها مفيدة بس الكود هون صغير ولازم نقدر نحل المشكلة بأنفسنا حتى نتعلم

بعدين أنا شخصيا اشتغلت شوي بالبرمجة على الـ ++VC وأعتقد أنو فيني أقرأ برنامج #C و حولوا للفيجول بايزيك بنفسي بما أنو طريقة كتابة الكود متشابه بين الاثنين صحيح الموضوع بدوا يأخد مجهود وبيجوز يطلعلي كم غلطة بس بها الطريقة بستفيد أكتر

نحن كلنا أخوان بدون حساسيات مهما كانت وجل من لا يخطئ

@Romantic_touch

منتظرك تعمل باقي النواقص وتحطلنا اياها وهيك أنت بستفيد ونحنا منستفيد كمان

على كل حال أسماء جميع الدالات المتعلقة بهالموضوع موجودة عندك بأول مشاركة بهذا الموضوع بس بدها شوية شغل

تم تعديل هذه المشاركة بواسطة samerselo في 11 ديسمبر 2005 في 15:06

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#13

ولا يهمك

ومافي داعي تغلب حالك بالتحويل إذهب إلى هذه المشاركة

تحويل الكود من #C إلى VB.Net

أتمنى التوفيق للجميع

تم تعديل هذه المشاركة بواسطة TarekNajem04 في 11 ديسمبر 2005 في 15:06

لا تفعل إلا ما تستطيع أن تقوله ولا تقول إلا ما تسطيع أن تفعله

اللهم علمنا ما ينفعنا ونفعنا بما علمتنا وهب لنا من لدنك ولياً مرشدا

كلما أدبني الدهر أراني نقص عقلي ... وإذا ما زدت علماً زادني علماً بجهلي

أخوكم في الله أبو المجد

هيا نتعلم بعض المبادء لنطرق باب الإحتراف ************** جديد الدروس ( Application Domains and Assemblies)

التوقيت في دمشق:

<embed src="http://www.clocklink.com/clocks/0006-Gray.swf?TimeZone=R1T" width="200" height="240" wmode="transparent" type="application/x-shockwave-flash">

#14

ولايهمك بس انا مانتبهت للدوال مزبوط

وبعد الانتباه طلع معي الحل هو

If InternetAutodialHangup(0) Then

GetDisconnect = True

Else

GetDisconnect = False

End If

ماهو الموقع الذي تفضل الاطلاع عليه لتعلم المزيد عن هذه الدوال؟؟ ياريت رابط وشكرا

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#15

أخ Romantic_touch

في عدة مواقع فيها كودات ممكن نستفيد منها

بس بهذا الموضوع أنا تتبعت الـ MSDN المرفقة مع بيئة التطوير حتى وصلت للكود المطلوب وهي أقوى وأكمل مكان للحصول على المعلومات

من المواقع المفيدة

1 - هذا المنتدى فقد تعلمت الكثير من الإخوة هنا

2 - www.planet-source-code.com

3 - www.codearchive.com

4 - msdn.microsoft.com

5 - www.codeproject.com

6 - www.eastasp.com

وغيرها

تم تعديل هذه المشاركة بواسطة samerselo في 12 ديسمبر 2005 في 16:57

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#16

وهذا شرح كامل لجميع النقاط التي ذكرت في الموضوع ضمن ملف وورد

InternetConnection.doc

تم تعديل هذه المشاركة بواسطة samerselo في 13 ديسمبر 2005 في 02:03

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#17

الف شكر اخوي على هذه المعلومات القيمة

اله يجزيك خير

سؤال اذا ممكن

عمل شي اخر في حدود هذه الفكرة

اقصد عندما يقوم بضغط على زر اتصال ف يبرنامجي تظهر له شاشة الاتصال الخاصة بويندوز والتي يدخل فيها المستخدم رقم الهاتف الذي يريد الاتصال به واسم المستخدم وكلمة المرور

وهذه تعطي صلاحية اكبر في التعامل مع الاتصال

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#18

اعذرني أخ Romantic_touch لم أفهم سؤالك جيدا

ولكن على كل حال كل ما لدي من معلومات حول هذا الموضوع وضعتها في ملف الوورد المرفق سابقا

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#19

اخ سامر

عندما تقوم بطلب الاتصال بالانترنت تظهر لك نافذة صغيرة بها رقم الهاتف واسم المستخدم وكلمة المرور ومنها تقوم بالضغط على زر اتصال

هذه الشاشه هل يمكن ان اظهرها للمستخدم عن الضغط على زر في برنامجي؟

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#20

عندما كنت أجرب عندي كانت تظهر دائما شاشة شبيهة بالتالي

14_12_05_05_30_53_1134567053Connection.jpg

ولكني لا أستخدم الخيار

14_12_05_05_37_12_1134567432_1.jpg

عند تعريف إعدادات الانترنت

إذا كان هذا ما تقصده وباستخدام نفس الأكواد المذكورة هنا

تم تعديل هذه المشاركة بواسطة samerselo في 14 ديسمبر 2005 في 16:29

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#21

اييييييييييييييييييوه عليك نور

هيه دي

طيب بجرب وبرد عليك خبر

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#22

أشكرك

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…