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

تفعيل و تعطيل الشبكة المحلية برمجياً

مغلق
بدأه Aladdin86 في 21 مايو 2007 · 8 رد · 1,930 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله وبركاته

إخواني الأعزاء أقدم لكم اليوم كود تفعيل و تعطيل الشبكة المحلية

في البداية أحب أن أشكر الأخ DreamNet

وذلك لأن الفضل يعود لله عز و جل ثم له في هذا الموضوع

قبل البدء يجب إضافة المرجع Microsoft Shell Controls and Automationللمشروع وذلك كما يلي

القائمة Project ثم References ثم نختار Microsoft Shell Controls and Automation ثم نضغط Ok

سوف تحتاج لإتمام هذه العملية إلى زرين Command1 , Command2

نكتب في الحدث Click للزر الأول

  
Dim LANEnable As Boolean
	   LANEnable = True
	   Const ssfCONTROLS = 3
		Dim ConnectionName As String
		 ConnectionName = "Local Area Connection"
		Dim EnableVerb As String
		EnableVerb = "En&able"
		Dim DisableVerb As String
		DisableVerb = "Disa&ble"

		Dim ShellApp As New Shell32.Shell
		' Obtain the CP
		Dim ControlPanel As Shell32.Folder
		Set ControlPanel = ShellApp.NameSpace(ssfCONTROLS)
		Dim FolderItem As Shell32.FolderItem
		Dim NetworkFolder As Shell32.Folder
		Dim LANConnection As Shell32.FolderItem


		For Each FolderItem In ControlPanel.Items()
			  If FolderItem.Name = "Network Connections" Then

				Set NetworkFolder = FolderItem.GetFolder
				Exit For
			End If
		Next

		If NetworkFolder Is Nothing Then
			MessageBox.Show ("Error - No network folder found")
			Exit Sub
		End If

		For Each FolderItem In NetworkFolder.Items()
			  If FolderItem.Name = ConnectionName Then

			   Set LANConnection = FolderItem
				Exit For
			End If
		Next


		If LANConnection Is Nothing Then
			MessageBox.Show ("Error - No LAN entry was not found")
			Exit Sub
		End If


		LANEnable = Not LANEnable

		Dim EnableVerbItem As Shell32.FolderItemVerb
		Dim DisableVerbItem As Shell32.FolderItemVerb
		Dim Verb As Shell32.FolderItemVerb


		For Each Verb In LANConnection.Verbs
			If Verb.Name = EnableVerb Then
			   Set EnableVerbItem = Verb
			End If
			If Verb.Name = DisableVerb Then
			   Set DisableVerbItem = Verb
			End If
		Next
		 EnableVerbItem.DoIt

ونكتب في الحدث Click للزر الثاني :

		Dim LANEnable As Boolean
	   LANEnable = True
	   Const ssfCONTROLS = 3
		Dim ConnectionName As String
		 ConnectionName = "Local Area Connection"
		Dim EnableVerb As String
		EnableVerb = "En&able"
		Dim DisableVerb As String
		DisableVerb = "Disa&ble"

		Dim ShellApp As New Shell32.Shell
		' Obtain the CP
		Dim ControlPanel As Shell32.Folder
		Set ControlPanel = ShellApp.NameSpace(ssfCONTROLS)
		Dim FolderItem As Shell32.FolderItem
		Dim NetworkFolder As Shell32.Folder
		Dim LANConnection As Shell32.FolderItem


		For Each FolderItem In ControlPanel.Items()
			  If FolderItem.Name = "Network Connections" Then

				Set NetworkFolder = FolderItem.GetFolder
				Exit For
			End If
		Next

		If NetworkFolder Is Nothing Then
			MessageBox.Show ("Error - No network folder found")
			Exit Sub
		End If

		For Each FolderItem In NetworkFolder.Items()
			  If FolderItem.Name = ConnectionName Then

			   Set LANConnection = FolderItem
				Exit For
			End If
		Next


		If LANConnection Is Nothing Then
			MessageBox.Show ("Error - No LAN entry was not found")
			Exit Sub
		End If


		LANEnable = Not LANEnable

		Dim EnableVerbItem As Shell32.FolderItemVerb
		Dim DisableVerbItem As Shell32.FolderItemVerb
		Dim Verb As Shell32.FolderItemVerb


		For Each Verb In LANConnection.Verbs
			If Verb.Name = EnableVerb Then
			   Set EnableVerbItem = Verb
			End If
			If Verb.Name = DisableVerb Then
			   Set DisableVerbItem = Verb
			End If
		Next
		 DisableVerbItem.DoIt

أرجوا أن تكونو قد استفدتم

من هذا الكود ولا تنسونا أنا والأخ DreamNet من دعوة صالحة في ظهر الغيب

للأمانة العلمية الموضوع منقول من Vbcity

ولكنه مكتوب في Vbcity بلغة VB.Net تم تحويلة إلى VB6.0 عذراً للإطالة و السلام عليكم و رحمة الله وبركاته

هذا و الله أعلم

أعوذ بالله من الشيطان الرجيم

قل إنّ صلاتي و نسكي و محيّاي و مماتي لله رب العالمين

صدق الله العظيم

#2

اشكرك اخ Aladdin86

اتوقع انك نسيت ان تضع الاكواد الخاصة بالاجراء

DisableVerbItem.DoIt

EnableVerbItem.DoIt

#3
اقتباس
اشكرك اخ Aladdin86

اتوقع انك نسيت ان تضع الاكواد الخاصة بالاجراء

DisableVerbItem.DoIt

EnableVerbItem.DoIt

السلام عليكم و رحمة الله وبركاته

أخي الكريم أتوقع أنني لم أنسى الإجرائيات وذلك لأنه DisableVerbItem و EnableVerbItem هي كائنات معرفة بالشكل التالي:

Dim EnableVerbItem As Shell32.FolderItemVerb
Dim DisableVerbItem As Shell32.FolderItemVerb

إذاً المنهج "Method" المسمى DoIt هو أحد مناهج الصنف Shell32.FolderItemVerb وبالتالي يمكنك تنفيذ السطرين التاليين

DisableVerbItem.DoIt
EnableVerbItem.DoIt

بكل سهولة بعد تعريف كائن من الصنف المذكور

وشكراً لك على الرد

هذا والله أعلم

أعوذ بالله من الشيطان الرجيم

قل إنّ صلاتي و نسكي و محيّاي و مماتي لله رب العالمين

صدق الله العظيم

#4

شكرا أخي الكريم والكود كان ناجح بس ياليت لو تشرح لي كيف نعرف حالة الشبكة؟ يعني هي معطلة وإلا لا؟

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#5

أعتقد أنه بيعطل الشبكة بالجهاز الحالى فقط.

#6

مافي مشكلة بس في كود لمعرفة حالة الشبكة

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

#7

MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

>--(¯`·..·`¯)--> HAYTHEM_EG <--(¯`·..·`¯)--<

أبن منتديات الفريق العربي للبرمجة

متخصص في لغه الفيجوال بايسك

#8

السلام عليكم و رحمة الله وبركاته

بالنسبة للأخ Saad Al Mosa :

اقتباس
شكرا أخي الكريم والكود كان ناجح بس ياليت لو تشرح لي كيف نعرف حالة الشبكة؟ يعني هي معطلة وإلا لا؟

لمعرفة حالة الشبكة يمكنك إضافة الكود التالي لحلقة For الأخير فتصبح كما يلي :

		Dim Status As String
		Dim i As Integer
		i = 0
 For Each Verb In LANConnection.Verbs
		If i = 0 Then
		 Status = Verb.Name
		 End If
		 i = i + 1
		   ' Debug.WriteLine("Loop 3: " & Verb.Name)
			If Verb.Name = EnableVerb Then
				EnableVerbItem = Verb
			End If
			If Verb.Name = DisableVerb Then
				DisableVerbItem = Verb
			End If
		Next
		if Status = "Disa&ble" then Msgbox  "الإتصال بالشبكة المحلية مفعل  "
	   if Status = "En&able" then Msgbox "الإنصال بالشبكة المحلية معطل"

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

أتمنى أن أكون قد أفدتك

وبالنسبة للأخ msayed2004 :

اقتباس
أعتقد أنه بيعطل الشبكة بالجهاز الحالى فقط.

إعتقادك صحيح 100% هذا البرنامج يعطل إتصال الشبكة المحلية في الجهاز الحالي فقط

هذا والله أعلم

تم تعديل هذه المشاركة بواسطة Aladdin86 في 22 مايو 2007 في 09:15

أعوذ بالله من الشيطان الرجيم

قل إنّ صلاتي و نسكي و محيّاي و مماتي لله رب العالمين

صدق الله العظيم

#9

شكرا أخي الكريم أجرب الكود وأعلمك بالنتيجة.

google.gif

spamxk4.gif

petitionbanner17a.gif

Email : sao_-5000@hotmail.com

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

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

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

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

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

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