현재 USB를 삽입하면 LibUSBDotNet을 사용하여 감지합니다. 다음이에서USB 마운트 Linux에서 모노
private void OnDeviceNotifyEvent(object sender, DeviceNotifyEventArgs e)
{
//Log.WriteDiagnostic(e.ToString());
Thread thread = new Thread(USBThreadStart);
thread.Start();
}
private void USBThreadStart()
{
Thread.Sleep(5000);
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
if (drive.Name.Contains("/SomeUsbName"))
Log.WriteDiagnostic("Usb Found.");
}
, 나는 (장치를 장착하기에 충분보다) 5 초 대기 스레드를 시작하지만, 마운트 몇 초 걸립니다, 그래서 현재,이 코드를 실행하는거야 주어진 이름의 드라이브에 대한 모든 드라이브를 반복합니다 (우리는 고객을 위해 USB 스틱에 고유 한 이름을 지정했습니다). 이 이유는 DriveInfo.GetDrives()가 이동식 유형 대신 고정 유형으로 모든 USB 스틱을 반환하기 때문입니다.
이 방법은 효과가 있지만 가장 좋은 방법이라고 생각하지 않습니다. Linux에서 Mono C#을 사용하여 USB 스틱이 마운트 된 것을 감지하는 더 좋은 방법이 있습니까?