Как определить тип носителя в приводе CD / DVD без IMAPI в приложении C #? - PullRequest
2 голосов
/ 05 февраля 2011

Я могу легко получить тип носителя вставленного записываемого носителя с помощью методов IMAPI в C #.К сожалению, эти методы не работают, когда у меня есть среда только для чтения.Я хотел бы узнать, как определить, какой тип носителя вставлен в мой диск.Может быть, я могу понять это, прочитав общий размер сектора диска.

Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 25 февраля 2011

Можете ли вы использовать p / invoke с функцией SHChangeNotifyRegister :

    [DllImport("shell32.dll", SetLastError=true, EntryPoint="#2", CharSet=CharSet.Auto)]
static extern UInt32 SHChangeNotifyRegister(
            IntPtr hWnd,
            SHCNF fSources,
            SHCNE fEvents,
            uint wMsg,
            int cEntries,
            ref SHChangeNotifyEntry pFsne);

Вы можете прослушивать событие SHCNE_MEDIAINSERTED, но при этом определить, какой это тип среды, яЯ не совсем уверен, но, вероятно, есть другая внешняя функция, которую вы можете вызвать, чтобы получить эту информацию.

...