Domanda

Come rimuovo un'unità USB utilizzando l'API Win32?Lavoro molto su sistemi embedded e su uno di questi devo copiare i miei programmi su una chiavetta USB e inserirla nell'hardware di destinazione.

Dato che lavoro principalmente sulla console, non mi piace usare il mouse e fare clic sulla piccola icona della barra delle applicazioni centinaia di volte al giorno.

Mi piacerebbe scrivere un piccolo programma per fare esattamente questo in modo da poterlo inserire nei miei makefile, ma non ho trovato nessuna chiamata API che faccia la stessa cosa.

Qualche idea?

È stato utile?

Soluzione

Puoi utilizzare la funzione CM_Request_Device_Eject() oltre ad alcune altre possibilità.Consulta i seguenti progetti e articoli:

Espulsione sviluppo:Semplice.http://www.withopf.com/tools/deveject/

Un utile articolo di CodeProject:http://www.codeproject.com/KB/system/RemoveDriveByLetter.aspx

Altri suggerimenti

Sembra Sincronizzazione consente di specificare -e per espellere le unità rimovibili.Sebbene non sia un'API win32, probabilmente potresti semplicemente chiamare sync -e [drive_letter] dal tuo makefile.

Ecco un articolo sulla tecnologia sui supporti di memorizzazione rimovibili.Cercare DismountNtmsMedia.

Ecco una soluzione in Delphi, che ho modificato e inserito in un servizio per l'utilizzo in un'azienda molto grande.Vai a: testo del collegamento

Cerca "scapi (Setup & Config Manager API)" e scaricalo.Ci sarà un programma demo chiamato USBView che ti aiuterà sulla buona strada.Se disponi di Delphi, questo include anche un componente TUSBDeviceTree che puoi utilizzare per raccogliere informazioni su un dispositivo USB quando.

Saluti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top