szukam urywek kodu C#, aby dać mi powiadomienie o gdy dysk USB jest podłączony do mojego komputera w systemie Windows Vista (lub win7)Patrząc na kod C# wykrywania dysków wymiennych (USB)
Odpowiedz
W Codeproject jest klasa o nazwie DriveDetector, która brzmi, jakby robiła to, co chcesz.
Spójrz na WM_DEVICECHANGE. Ten komunikat powinien zostać wysłany po włożeniu dysku.
Wiem, że nie jest to dokładnie to, o co prosiłeś, ale jeśli chcesz sprawdzić, jakie urządzenia są dostępne w danym momencie, jest inny sposób. Możesz użyć klas WMI w System.Management namespace, użyłem tej metody i działa dobrze.
Jeśli spojrzeć na this answer, pokazuje, jak wyliczyć wszystkie dyski w systemie. Następnie możesz rzucić okiem na typ dysku, aby określić, czy jest to pamięć USB.
Napisałem moduł powershell, który używa System.Management.ManagementEventWatcher i klasy WMI Win32_VolumeChangedEvent do wynurzania nowych zdarzeń, na które możesz się zarejestrować w ramach usuwania powłoki Power Shell, dodawania itp. Powinieneś być w stanie znaleźć odpowiednią hydraulikę z tego blogu kopalni:
powinien być w stanie podłączyć się wydarzenie dla nowych napędów w mniej niż dziesięć linii C# za pomocą metody używam w powyższym scenariuszu.
Mam nadzieję, że to pomoże.