Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Вниз

Как узнать сколько 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.008 c
6-11355
AndrX
2002-09-01 19:47
2002.11.04
Как програмно выключить комп?


7-11509
978658473
2002-09-01 12:59
2002.11.04
Моя программа+память.


1-11151
lensky
2002-10-24 10:46
2002.11.04
kak sdelat check box s kartinkoi?... ili dashe proshe....


14-11393
dogma
2002-10-14 14:17
2002.11.04
База данных или блокнот?


3-11047
Metallex
2002-10-14 17:53
2002.11.04
Referential Integrity. Каскадное обновление.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский