Fórum Desconectar componentes USB #344223
07/08/2007
0
Olá pessoal,
Alguem sabe como posso desconectar um componente usb atravéd de alguma api delphi/windows?
Necessito criar uma aplicação para desconectar um pen driver.
Abraços,
Antonio Carlos
Alguem sabe como posso desconectar um componente usb atravéd de alguma api delphi/windows?
Necessito criar uma aplicação para desconectar um pen driver.
Abraços,
Antonio Carlos
Acpaixao
Curtir tópico
+ 0
Responder
Posts
13/08/2007
Giselinha
Antonio Carlos estou querendo saber em como reconhecer e desconectar uma pen drive através do Delphi,vc conseguiu fazer algum desses dois.
Obrigada
Gisela
Obrigada
Gisela
Responder
Gostei + 0
14/08/2007
Acpaixao
Olá Gabriela,
A função abaixo reconhece todos os drives instalados, acredito que pode ajudar. Abraços.
Antonio Carlos.
------------------------------------------------------------------
procedure TForm1.Button4Click(Sender: TObject);
var
i: Integer;
C: String;
SLabel, SSysName : Pchar;
Serial, FileNameLen, X: DWord;
DType: Integer;
DriveString: String;
begin
lbDrives.Items.Clear; // limpa o lisbox
{ Loop de A..Z para determinar as unidades disponíveis }
for i := 65 to 90 do
begin
C := chr(i)+´:\´; // Formata uma string representando o diretório-raiz.
{ Chama a função GetDriveType( ), que retorna um valor inteiro
representando um dos tipos que aparecem na instrução case em seguida }
DType := GetDriveType(PChar(C));
GetMem(SLabel, 255);
GetMem(SSysName, 255);
GetVolumeInformation(PChar(C), SLabel, 255, @Serial, FileNameLen, X, SSysName, 255);
case DType of
0: DriveString := C+´ Tipo de drive indeterminado´;
1: DriveString := C+´ Drive não existe´;
DRIVE_REMOVABLE: DriveString := C+´ Drive Removível - ´+string(SLabel);
DRIVE_FIXED: DriveString := C+´ Disco Fixo - ´+string(SLabel);
DRIVE_REMOTE: DriveString := C+´ Unidade de Rede - ´+string(SLabel);
DRIVE_CDROM: DriveString := C+´ Drive CD-ROM - ´+string(SLabel);
DRIVE_RAMDISK: DriveString := C+´ Disco RAM - ´+string(SLabel);
end;
{ Só inclui tipos de unidade que possam ser determinados. }
if not ((DType = 0) or (DType = 1)) then
lbDrives.Items.AddObject(DriveString, Pointer(i));
end;
end;
-----------------------------------------------------------------------------
A função abaixo reconhece todos os drives instalados, acredito que pode ajudar. Abraços.
Antonio Carlos.
------------------------------------------------------------------
procedure TForm1.Button4Click(Sender: TObject);
var
i: Integer;
C: String;
SLabel, SSysName : Pchar;
Serial, FileNameLen, X: DWord;
DType: Integer;
DriveString: String;
begin
lbDrives.Items.Clear; // limpa o lisbox
{ Loop de A..Z para determinar as unidades disponíveis }
for i := 65 to 90 do
begin
C := chr(i)+´:\´; // Formata uma string representando o diretório-raiz.
{ Chama a função GetDriveType( ), que retorna um valor inteiro
representando um dos tipos que aparecem na instrução case em seguida }
DType := GetDriveType(PChar(C));
GetMem(SLabel, 255);
GetMem(SSysName, 255);
GetVolumeInformation(PChar(C), SLabel, 255, @Serial, FileNameLen, X, SSysName, 255);
case DType of
0: DriveString := C+´ Tipo de drive indeterminado´;
1: DriveString := C+´ Drive não existe´;
DRIVE_REMOVABLE: DriveString := C+´ Drive Removível - ´+string(SLabel);
DRIVE_FIXED: DriveString := C+´ Disco Fixo - ´+string(SLabel);
DRIVE_REMOTE: DriveString := C+´ Unidade de Rede - ´+string(SLabel);
DRIVE_CDROM: DriveString := C+´ Drive CD-ROM - ´+string(SLabel);
DRIVE_RAMDISK: DriveString := C+´ Disco RAM - ´+string(SLabel);
end;
{ Só inclui tipos de unidade que possam ser determinados. }
if not ((DType = 0) or (DType = 1)) then
lbDrives.Items.AddObject(DriveString, Pointer(i));
end;
end;
-----------------------------------------------------------------------------
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)