Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.04;
Скачать: CL | DM;

Вниз

Как узнать сколько COM-портов не используя реестр?   Найти похожие ветки 

 
Kostyan   (2002-08-28 14:33) [0]

Такая проблема: через PCI организуется 2 и более СОМ портов.
Вопрос в том, как их найти в системе не заглядывая в реестр.


 
Aleks1   (2002-08-29 03:08) [1]

Попробовать открыть их. Кстати AsyncPro именно так и работает.


 
kVitamin   (2002-08-29 10:11) [2]

Попробуй что-то вроде этого:
Uses WinTypes, WinProcs;
Begin
try
OpenFile("COM1");
except
MessageBox(GetActiveWindow, "COM1 not Init", "COM Error", MB_ICONINFORMATION or MB_OK);
end;
MessageBox(GetActiveWindow, "COM1 init Successfully", "COM Success", MB_ICONINFORMATION or MB_OK);
End.


 
Ihor Osov'yak ©   (2002-08-29 23:34) [3]

try it:


procedure GetAvailablePorts(PortList: TStrings);
{ The PortList should be initialized }
var
n, MaxPorts: integer;
Port: THandle;
PortName: string;
begin
if Win32PlatForm = VER_PLATFORM_WIN32_NT then
MaxPorts := 256
else { if VER_PLATFORM_WIN32_WINDOWS }
MaxPorts := 9;

for n := 1 to MaxPorts do
begin
PortName := "\\.\COM" + IntToStr(n);
Port := CreateFile(PChar(PortName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);

if (Port <> INVALID_HANDLE_VALUE) or (GetLastError = ERROR_ACCESS_DENIED) then
PortList.Add("COM"+IntToStr(n));

CloseHandle(Port);
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2002.11.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
3-11095
Neposeda
2002-10-15 13:45
2002.11.04
Как обработать ошибки выдаваемые при выполнении SQL-оператора?


14-11436
brestmarket
2002-10-15 05:24
2002.11.04
Переустановка Delphi 6.0 с сохранением всех компонент?


1-11269
Commodore
2002-10-23 11:47
2002.11.04
ListBox как элемент ActiveX


1-11189
CrowD
2002-10-24 17:34
2002.11.04
Как из процедуры обратится к классу?


1-11303
Ulikoff
2002-10-21 17:13
2002.11.04
MS OFFICE2000 & DELPHI