[ تمت الإجابة ]تعطيل الاجهزة بستخدام Vb.net
هذا بالسي شارب
http://www.codeproject.com/KB/cs/HardwareHelper.aspx
أعتقد من السهولة تحويله لـ VB.net
شكرا على الرد YaSeenTA
حاولت تحويل الكود الى VB.net لكن لا املك اي معلومة لتعرف على السي شارب بالشكل الصحيح
ارجوا منك اخي اذا تمكنت من تحويل الاكواد او الاخوان اذا تمكنوا من حل الاكواد الرد.
ولك مني خالص التحية استاذ YaSeenTA
لا يوجد رد
يبدوا ان المنتدى لا يستطيع الرد على السؤال
شكرا
اقتباسيبدوا ان المنتدى لا يستطيع الرد على السؤال
نعم يبدو هذا. :mad:
تم تعديل هذه المشاركة بواسطة Muhammad alaa في 9 يناير 2010 في 20:58
مدونتي: C++ Tips and Tricks
ليست تلك مشكلتنا ..
تم إرشادك لحل للمشكلة ولكن لا تريد الإعتماد على نفسك وتريد كل شئ جاهز ...
جرب هذا الكود
Add 1ListBox , 2Buttons, 1Label
ضع المجلد الخاص بـ HardwareHelperLib في مجلد المشروع الخاص بك . بإمكانك أيضاً تحويل كود HardwareHelperLib إلى VB .net , أترك تلك المهمة لك فهي ليست صعبة على مبرمج .net
قد تحدث أخطاء أثناء استخدام البرنامج , تاكد من كل جزء في الكود خصوصاً الأجزاء الخاصة بالذاكرة , فلست أبرمج بالفيجوال بيسك بل لا أبرمج بالـ .Net بشكل عام
Imports HardwareHelperLib
Public Class Form1
Dim hwh As HH_Lib
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Enable
Dim devices() As String = {""}
hwh.CutLooseHardwareNotifications(Me.Handle)
devices(0) = ListBox1.SelectedItem.ToString()
hwh.SetDeviceState(devices, True)
hwh.HookHardwareNotifications(Me.Handle, True)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'Disable
Dim devices() As String = {""}
hwh.CutLooseHardwareNotifications(Me.Handle)
devices(0) = ListBox1.SelectedItem.ToString()
hwh.SetDeviceState(devices, False)
hwh.HookHardwareNotifications(Me.Handle, True)
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
hwh.CutLooseHardwareNotifications(Me.Handle)
End Sub
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Select Case m.Msg
Case HardwareHelperLib.Native.WM_DEVICECHANGE
If m.WParam.ToInt32() = HardwareHelperLib.Native.DBT_DEVNODES_CHANGED Then
ListBox1.Items.Clear()
Dim HardwareList() As String = hwh.GetAll()
For Each s As String In HardwareList
ListBox1.Items.Add(s)
Next
Label1.Text = ListBox1.Items.Count.ToString() + " Devices Attached"
End If
Case Else
'It is important to pass unhandled messages back to the default message handler.
MyBase.WndProc(m)
End Select
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
hwh = New HH_Lib
Dim HardwareList() As String
HardwareList = hwh.GetAll
For Each s As String In HardwareList
ListBox1.Items.Add(s)
Next
hwh.HookHardwareNotifications(Me.Handle, True)
Label1.Text = ListBox1.Items.Count.ToString() + " Devices Attached"
End Sub
End Classتم تجربة الكود في windows vista باستخدام VS .net 2008 و لم ألحظ أي مشكلة ...
YaSeenTA كتب:ليست تلك مشكلتنا ..
تم إرشادك لحل للمشكلة ولكن لا تريد الإعتماد على نفسك وتريد كل شئ جاهز ...
اخي العزيز لقد شكرتك على ردك ولم اقل لك انت لم تفدني بل قلت شكرا
ثانيا انا مبتدأ ولا اعلم الكثير عن الدوت نت انا طلبت فقط منك او من الاعضاء اذا تمكنتم من مساعدتي
وانا اسف على ما بدر مني و اشكرك على تعاوني معي وشكرا
ماشاء الله ... انا كنت محتاج هذه المكتبة من زمان ... جزاك الله كل خير وجعلها في ميزان حسناتك