Утилита для отключения usb-накопителей - C#
Формулировка задачи:
Мне нужно написать небольшое приложение, висящее в трее, позволяющее максимально быстро «завершить работу» usb-флэшки или предоставить информацию о том, какое приложение мешает ее отключить. Требуется поддержка работы из командной строки и платформы .net
Я лазил в интернете, но конкретно ничего не нашел про извлечение флешки в Виндолсе.
Помогите, если кто-то знает что-нибдь в этой области. Можно и в Линуксе, если тут что-нибудь знаете.
Заранее, спасибо!
Решение задачи: «Утилита для отключения usb-накопителей»
textual
Листинг программы
- #include <windows.h>
- void DisconectUsb(char Vol)
- {
- char *volname=new char[7];
- volname[0]='\\';
- volname[1]='\\';
- volname[2]='.';
- volname[3]='\\';
- volname[4]=Vol;
- volname[5]=':';
- volname[6]='\0';
- HANDLE hVol;
- BOOL res;
- hVol = CreateFile(volname, GENERIC_READ || GENERIC_WRITE, FILE_SHARE_READ || FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
- if(hVol == INVALID_HANDLE_VALUE) return;
- DWORD nBytesReturned = 0;
- res = DeviceIoControl(hVol, IOCTL_STORAGE_EJECT_MEDIA, NULL, 0, NULL, 0, &nBytesReturned, NULL);
- delete [] volname;
- }
- int main()
- {
- for(int i=69; i<80; i++)
- {
- DisconectUsb(i);
- }
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д