2009-04-03 6 views

Odpowiedz

3

Spójrz na WM_DEVICECHANGE. Ten komunikat powinien zostać wysłany po włożeniu dysku.

1

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.

0

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:

http://www.nivot.org/nivot2/post/2008/08/16/AutoMountunmountNewPSDrivesForRemovableDrivesAndNetworkSharesInPowerShellV2.aspx

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.

Powiązane problemy