Pergunta

Olá, eu quero fazer algo quando um stick de memória conectado ao PC. Agora eu uso um cronômetro e verifico -o em todos os carrapatos se houver um bastão de memória (use driveInfo ou com consulta WMI), existe algum modelo orientado a eventos disponíveis para fazer? Por exemplo, eu uso um evento no meu programa que aumenta sempre que um bastão de memória é conectado ao computador?

Foi útil?

Solução

Você quer lidar com o WM_DEVICECHANGE mensagem em seu wndproc. Quando você lida com isso, você também pode ligar RegisterDeviceNotification Para obter notificação de que o bastão está sendo ejetado de maneira limpa.

Quando você recebe um WM_DEVICECHANGE, você quer verificar o wparam - DBT_DEVICEARRIVAL (0x800) é o que você está procurando.

Em C ++, você não deve ter problemas com o WNDPROC. Em C#, você deseja substituir o seu formulário principal Wndproc método e verificação m.Msg == 0x219 e m.WParam == 0x800. Observe que nem tudo isso será um bastão de memória - mas você pode usá -lo para notificá -lo para verificar a inserção da unidade em vez de um temporizador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top