Утилита для отключения 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5