Wykrywanie zawartości CD/DVD

0

Witam,
Jestem początkujący w C# tak więc proszę o wyrozumiałość.Korzystam z Visual Studio 2008. Piszę programik którego jedną z funkcjonalności jest wyświetlenie drzewa katalogów znajdujących się na CD/DVD. Program oparty o Windows Forms. Wiem jak wyświetlić drzewo katalogów znajdujących się na CD/DVD ale nie wiem jak zrobić żeby wyświetlało się to automatycznie tzn. żeby po włożeniu płyty do któregoś z napędów (mam 2) pojawiała się w oknie treeView struktura katalogów i analogicznie po wyjęciu napędu znikała. próbowałem coś z WMI ale nic z tego nie wyszło :/ Może ktoś pomoże?

0

Ja bym zrobił sobie jakiegoś Timera, który chodziłby w tle i sprawdzał, np. tak:

private void timer1_Tick(object sender, EventArgs e)
{
    DriveInfo[] dyski = DriveInfo.GetDrives();
    foreach (DriveInfo d in dyski)
        if (d.DriveType == DriveType.CDRom && d.IsReady)
        {
            this.timer1.Stop();
            MessageBox.Show("Włożono płytę do: " + d.RootDirectory);
        }
}
0

Myślę że pomocnym może być ten link:
http://potchara.pruksasri.net/blog/wp-c ... ectrom.rar
Zawiera projekt w C#, który automatycznie wykrywa CD/DVD.

0

http://www.codeproject.com/KB/system/DriveDetector.aspx

Co prawda jest to przeznaczone do wykrywania/usuwania nośników usb, ale łatwo można przystosować do obsługi cd-romów, które też są traktowane jak nośniki wymienne. Pomysł z timerem jest prosty, ale niezbyt dobry

0

Dzięki rzeczywiście działa tylko jest z tym taki problem, że jak włożę inną płytę to nie buduję już nowego drzewa tylko pozostaje z poprzedniego CD/DVD :-( (chodzi o wersję z timerem )

0
natomiast napisał(a)

Dzięki rzeczywiście działa tylko jest z tym taki problem, że jak włożę inną płytę to nie buduję już nowego drzewa tylko pozostaje z poprzedniego CD/DVD :-( (chodzi o wersję z timerem )

No to zaprogramuj tak, żeby odświeżyło.
Jakiś problem wykryć, czy płytka została wyjęta i włożona? :|

0

Może przed wczytaniem nowego drzewa katalogu - wyczyść listę. Ale nic nie można powiedzieć dokładnie bo nawet nie raczyłeś pokazać swojego kodu :-P

1 użytkowników online, w tym zalogowanych: 0, gości: 1