نمایش نتایج 1 تا 7 از 7

نام تاپیک: پیام اضافه شدن یا کم شدن یک درایو به ویندوز

  1. #1
    کاربر جدید
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    17

    پیام اضافه شدن یا کم شدن یک درایو به ویندوز

    سلام
    لطفا اگر کسی درمورد اینکه چگونه می توان از ویندوز این رخداد که درایوی( سی دی، یو اس بی، مموری استیک یا ...) اضافه یا کم شده دریافت کرد، اطلاعاتی دارد مطرح کند.
    ممنون

  2. #2
    در این گونه موارد پیام WM_DEVICECHANGE ارسال می شود که می توانید از آن استفاده کنید ،

    مثلا در این پیام دریافت DBT_DEVICEARRIVAL اضافه شدن رسانه یا وسیله ای را نشان می دهد و DBT_DEVICEREMOVECOMPLETE حذف شدن یا خارج شدن آن را نشان می دهد.

    موفق باشید

  3. #3

  4. #4
    کاربر جدید
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    17
    سلام
    ممنون از جوابتون، ولی همانطور که گفتم من می خواهم از اضافه شدن یک "درایو" با اطلاع بشم، حالا این درایو به هر صورت که به ویندوز اضافه شده مهم نیست( من در مورد CD یا USB این کار را کرده ام ولی می خواهم این پیام وقتی به برنامه من بیاید که یک درایو یعنی یک وسیله ذخیره سازی داده ها( Storage ) مثلا یک دوربین حافظه دار یا هر نوع دیگر، به سیستم اضافه شود، وقتی ویندوز با چنین حالتی روبرو می شود یک پنجره می آورد که فکر کنم پنجره Auto read باشد) ،
    ممنون

  5. #5
    کاربر جدید
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    17
    سلام
    من 2 روز صبر کردم، ولی مثل اینکه کسی جواب این سوال رو نمی دونه!!!
    من توی جستجو هام به این مطلب رسیدم که برای اینکه رخدادی به برنامه من ارسال شود در مود یوزر باید تابع RegisterDeviceNotification یا در مود درایور باید تابع IoRegisterPlugPlayNotification رو فراخوانی کنم، و این دو تابع هیچ فرقی در این کاربرد باهم ندارند، ولی برای بکار بردن تابع RegisterDeviceNotification نیاز به کلاسهای GUID برای تمام این درایوها است که من نمی تونم اونا رو پیدا کنم، کسی میتونه به من در این زمینه کمک کنه؟
    ممنون

  6. #6
    در صفحه زیر از سمت چپ می توانید class guid برخی دیگر از ابزار مانند disk و .. را نیز بیابید:
    http://msdn2.microsoft.com/en-us/library/bb663102.aspx

    توابع زیر را نیز برای شمارش و دریافت guid ها بررسی کنید:
    SetupDiEnumDeviceInfo
    SetupDiGetDeviceInterfaceDetail
    SetupDiEnumDeviceInterfaces

    دو صفحه زیر را برای نمونه ها کمک می کند:
    http://groups.google.com/group/microsoft.public.de...
    http://groups.google.com/group/microso...

  7. #7
    کاربر جدید
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    17
    سلام
    با تشکر از جواب شما، از این روش( SetupDiXXXX ) هم استفاده کردم ولی موثر نبود،
    از DirectoryNotifyChange هم استفاده کردم ولی متاسفانه آن هم موثر نبود،
    در این حالت من کارت حافظه را از داخل حافظه خوان خارج می کنم و سپس دوباره آن را در داخل حافظه خوان جاسازی می کنم، ویندوز متوجه می شود( با نمایش پنجره "What do you want Windows to do" ) ولی در هیچ یک از این عملیات برنامه من متوجه نمی شود.
    متشکرم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •