منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] أظهار رسالة عند ادخال USB - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : [سؤال] أظهار رسالة عند ادخال USB (/showthread.php?tid=2845)



أظهار رسالة عند ادخال USB - m-kaylani - 12-05-14

السلام عليكم
اريد لو تتكرمو كود اظهار رسالة عند ادخال الفلاش ميموري الى الحاسب عن طريق USB
ومشكورين على جهودكم


RE: أظهار رسالة عند ادخال USB - abulayth - 12-05-14

السلام عليكم

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

وهو للامانة منقول من موقع Planet-Source-Code.com

يعطيك العافية


RE: أظهار رسالة عند ادخال USB - vbnet - 13-05-14

-
منقول

الاستشعار بمجرد وصل أو فصل أجهزة تخزين USB باستخدام الحدث WndProc الخاص بالنظام (ويمكن الإستفادة منه في أمور كثيرة)

mdlWndProc.bas
كود :
Option Explicit

Private Const WM_DEVICECHANGE As Integer = &H219

' WndProc declares & functions ============================================
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal HWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As

Long
Private Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal HWnd As Long, ByVal Msg As Long,

ByVal WParam As Long, ByVal LParam As Long) As Long
Private Declare Function GetProp Lib "user32.dll" Alias "GetPropA" (ByVal HWnd As Long, ByVal lpString As String) As Long
Private Declare Function SetProp Lib "user32.dll" Alias "SetPropA" (ByVal HWnd As Long, ByVal lpString As String, ByVal hData As Long) As Long
Private Declare Function RemoveProp Lib "user32.dll" Alias "RemovePropA" (ByVal HWnd As Long, ByVal lpString As String) As Long
Private Const GWL_WNDPROC = -4
Private Function WndProc(ByVal HWnd As Long, ByVal Msg As Long, ByVal WParam As Long, ByVal LParam As Long) As Long
    Select Case Msg
  
        Case WM_DEVICECHANGE ' Device changed تغيير الأجهزة
            Call DeviceChanged(WParam, LParam)
            
    End Select
    WndProc = CallWindowProc(GetProp(HWnd, "PrevWndProc"), HWnd, Msg, WParam, LParam)
End Function
Public Sub WndProcHook(ByVal HWnd As Long)
    On Error Resume Next
    SetProp HWnd, "PrevWndProc", SetWindowLong(HWnd, GWL_WNDPROC, AddressOf WndProc)
End Sub
Public Sub WndProcUnHook(ByVal HWnd As Long)
    On Error Resume Next
    SetWindowLong HWnd, GWL_WNDPROC, GetProp(HWnd, "PrevWndProc")
    RemoveProp HWnd, "PrevWndProc"
End Sub