PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Como fazer para detectar novamente a USB? #369033

13/03/2009

0

E aí pessoal, blz?

Eu tenho uma procedure que detecta quando um PenDrive é inserido na USB, funciona certinho, o problema é que só funciona depois que meu aplicativo foi iniciado e a pessoa insere o PenDrive. Eu queria saber como fazer para detectar se a USB foi inserida quando meu aplicativo estiver sendo executado. Se a pessoa inseriu o PenDrive antes e ao executar o aplicativo ele detecte que o mesmo encontra-se plugado.

A procedure é essa:

procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;

procedure TfrmMain.WMDeviceChange(var Msg: TMessage);
begin
if Msg.wParam = $8000 then
begin
if PDEV_BROADCAST_HDR(Msg.LParam)^.dbch_devicetype <> 2 then
Exit;

if PDEV_BROADCAST_VOLUME(Msg.LParam)^.dbcv_flags <> 0 then
Exit;

str(ln(PDEV_BROADCAST_VOLUME(Msg.LParam)^.dbcv_unitmask) / ln(2) + Ord(´A´):2:0,GetLettre);
strUnid := Char(StrToInt(GetLettre)) + ´:´; // Pega a unidade do PenDrive
end;
end;


Grato.


Onjahyr

Onjahyr

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar