Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como dectectar los puerto serie y paralelo de mi pc (https://www.clubdelphi.com/foros/showthread.php?t=46648)

kurono 06-08-2007 03:12:11

Como dectectar los puerto serie y paralelo de mi pc
 
hola amigos del foros nuevamente estoy aqui con una inquietud y es que siempre tengo una pues siempre vivo inventando analizando para saber comos e hacen las cosa pues ya les cuento mi nueva inquietud y es la siguiente:

como yo hago una aplicacion en delphi 7 que me dectecte los puerto serie y paralelo de mi pc para hacerle una idea en este foro aparecieron como dectectar memorias usb desde delphi el cual tenia el siguiente codigo

var
Letra: Char;
begin
for Letra:= 'C' to 'Z' do
if GetDriveType(Pchar(Letra+':\')) = DRIVE_REMOVABLE then
begin
ShowMessage('Esto es una memoria usb '+Letra+':\');
end;
end;

y realmente funciona porq lo probe pero me pregunto como modificar este codigo para dectectar los puerto serie y paralelo

seoane 06-08-2007 05:03:59

Cita:

Empezado por kurono
y realmente funciona porq lo probe pero me pregunto como modificar este codigo para dectectar los puerto serie y paralelo

Interesante ... si tiene que ser modificando ese código yo lo haría así:
Código:

var
  H: THandle;
  Numero: Char;
begin
  for Numero:= '1' to '9' do
  begin
    H:= CreateFile(PChar('\\.\COM' + Numero),GENERIC_READ or GENERIC_WRITE,0,
      nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
    if GetLastError <> ERROR_FILE_NOT_FOUND  then
      ShowMessage('Existe el puerto COM' + Numero);
    if H <> INVALID_HANDLE_VALUE then
      CloseHandle(H);
  end;
end;

O con el puerto paralelo:
Código:

var
  H: THandle;
  Numero: Char;
begin
  for Numero:= '1' to '9' do
  begin
    H:= CreateFile(PChar('\\.\LPT' + Numero),GENERIC_READ or GENERIC_WRITE,0,
      nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
    if GetLastError <> ERROR_FILE_NOT_FOUND  then
      ShowMessage('Existe el puerto LPT' + Numero);
    if H <> INVALID_HANDLE_VALUE then
      CloseHandle(H);
  end;
end;

Aunque si no hay que ceñirse a ese código yo utilizaría alguno de los métodos que describo aquí:

http://www.clubdelphi.com/foros/showthread.php?t=39961

kurono 06-08-2007 05:19:36

gracia seoane era exactamente lo que queria


La franja horaria es GMT +2. Ahora son las 20:45:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi