منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

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

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

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

يعطيك العافية
-
منقول

الاستشعار بمجرد وصل أو فصل أجهزة تخزين 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