View Full Version : آموزش: تعریف کلاس به صورت آنلاین
M.KH-SH
چهارشنبه 06 مهر 1390, 15:58 عصر
سلام
میخواستم یک کلاس تعریف کنم که مثلا فلش مموری به کامپیوتر وصل شد بهم خبر بده و هروقت هم جدا شد بهم خبر بده.
برای این کار میشه از تایمر تو برنامه استفاده کرد اما نمی خوام از تایمر استفاده کنم.
دوستان اگه اطلاعاتی در این باره دارن ممنون میشم که کمک کنن مرسی.
omid-vbAuto
چهارشنبه 06 مهر 1390, 16:32 عصر
سلام
میخواستم یک کلاس تعریف کنم که مثلا فلش مموری به کامپیوتر وصل شد بهم خبر بده و هروقت هم جدا شد بهم خبر بده.
برای این کار میشه از تایمر تو برنامه استفاده کرد اما نمی خوام از تایمر استفاده کنم.
دوستان اگه اطلاعاتی در این باره دارن ممنون میشم که کمک کنن مرسی.
باید از رخداد ها استفاده کنی.مثلا رخداد تغییر تعداد درایو ها. ولی ریزشو نمی دونم.
M.KH-SH
چهارشنبه 06 مهر 1390, 16:50 عصر
میشه از win32_diskdrive استفاده کرد که بهم خبر بده ولی این روش رو باید بر روی یک دکمه یا لود و... نوشت
ولی میخوام به صورت آنلاین آماده باشه که هم اتصال برقرار شد (هر مقدار) بهم خبر بده و بگه چند تعداد و با چه نام هایی اتصال دارن و به هنگام کشیده شدن فلش ها هم بهم خبر بده.
نمی خوام از تایمر استفاده کنم چون به فلش آسیب میزنه
ArashRoshan
جمعه 08 مهر 1390, 14:32 عصر
با سلام
باید از WM_DriveChange استفاده کنی . ولی راستش به همین راحتی هم نیست (البته به نظر من) :لبخندساده: !!!
ولی جواب سوالت توی این سایته :
http://www.codeproject.com/KB/system/DriveDetector.aspx
بازم البته زبانش #C هستش و باید خودت زحمت تبدیلش رو بکشی (البته تبدیل #C به VB.net زیاد هم سخت نیست ) :لبخندساده: !!!
sanay_esh
جمعه 08 مهر 1390, 14:41 عصر
از این کد میتونی استفاده کنی
Imports System.Reflection
Imports System.IO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Find the first removable storage device and make this the initial
' directory if it exists
Dim allDrives() As IO.DriveInfo = IO.DriveInfo.GetDrives()
Dim d As IO.DriveInfo
For Each d In allDrives
If d.IsReady = True AndAlso d.DriveType = IO.DriveType.Removable Then
ListBox1.Items.Add(d.VolumeLabel).ToString()
If IO.DriveType.Removable Then
TextBox1.Text = d.AvailableFreeSpace
End If
Else
If d.IsReady = True And Not d.DriveType = DriveType.Removable Then
ListBox1.Items.Add(d.RootDirectory).ToString()
TextBox1.Text = d.AvailableFreeSpace
End If
End If
Next
End Sub
End Class
ArashRoshan
جمعه 08 مهر 1390, 14:51 عصر
شما که این کد رو داخل Button1_Click نوشتید ، نمیشه که هر لحظه روی Button1 کلیک رد !!؟؟؟
باید وضیفه ی چک کردن رو به عهده ی سیستم قرار بدیم ، نه که خودمون !!!! که این کار رو WM_ChangeDrive انجام میده ، من اون لینک پست بالا رو دانلود کردم ، همون بود که آقای M.KH-SH می خواستند . فقط باید وقت بذارن و کد نوشته شده رو با دقت تحلیل کنن ببینن چه اتفاقی داره می افته .
hossein-khoshseyar
شنبه 09 مهر 1390, 14:26 عصر
دوست عزیز این پروژه جواب سئوال شماست
نه تایمر می خواد نه چز دیگه ای
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.