2015-05-25 2 views
1

Как получить сменную букву диска, чтобы я мог создать путь и скопировать данные с ПК на съемный диск?Как получить письмо с диска съемного диска с использованием C/C++

В настоящее время я использую

_getcwd(buff,b_SIZE); 
MessageBox(buff); 
strncpy(Root,buff,3); 

У меня нет никаких проблем, если я бег моего программного обеспечения непосредственно с USB, и он будет возвращается ко мне либо D: или E :, который зависит от наличия, я думаю. Но моя проблема заключается в том, что я должен запускать свою программу USB с ПК, которая, конечно же, является программой ПК, установленной на диске C, и поэтому этот _getcwd даст мне письмо C: \. Вот почему я ищу, если есть возможность проверить текущую заменяемую букву диска.

Это ближайший я мог бы найти для моего вопроса: Detect removable drive (e.g. USB flash drive) C/C++

+1

Как этот другой вопрос не отвечает на ваши вопросы? – usr2564301

+1

Что делать, если подключено 5 съемных дисков? Возможно, это было бы лучше для пользователя. – Dialecticus

+0

Привет @Dialecticus будет только 1. Потому что это машина, которая использует окна. Или я бы сказал, что сделаю только 1 съемный диск. Спасибо – KevinYong

ответ

2

GetLogicalDrives() даст вам все диски, которые в настоящее время доступны. Петля через заданный бит-вектор (бит 0 - это диск A: бит 1 - это диск B: и т. Д.) И для каждой доступной проверки привода, если GetDriveType() возвращает DRIVE_REMOVABLE.

Или вы можете просто пропустить GetLogicalDrives() и пропустить все 26 букв алфавита, ища DRIVE_REMOVABLE.

+0

Хорошо! Я могу это понять. Позвольте мне попробовать спасибо! – KevinYong

+0

Я теперь могу получить букву диска. Но он не мог отличить, если это съемный носитель. В настоящее время я запускаю свой цикл из C: для того, чтобы избежать возможности использования флоппи-дисков на A: или B :. – KevinYong

Смежные вопросы