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

Вниз

EnumPorts странно работает   Найти похожие ветки 

 
Корешь   (2006-05-31 22:22) [0]

Использую для получения списка портов следующий код
var
BytesNeeded, Returned, I: DWORD;
Success: Boolean;
PortsRtr: Pointer;
InfoPtr: PPortInfo1;
TempStr: string;
begin
Success:=EnumPorts(nil, 1, nil, 0, BytesNeeded, Returned);
If (not Success) and (GetLastError = ERROR_INSUFFICIENT_BUFFER) then
  begin
  GetMem(PortsRtr, BytesNeeded);
  Try
     Win32Check(EnumPorts(nil, 1, PortsRtr, BytesNeeded, BytesNeeded, Returned));
     For I:=0 to  Returned -1 do
       begin
          InfoPtr:= PPortInfo1(DWORD(PortsRtr)+ I * SizeOf(TPortInfo1));
          TempStr:= InfoPtr^.pName;
          ComboBox1.Items.Add(TempStr);
       end;
  Finally
     FreeMem(PortsRtr);
  end;
  end;

Так вот получается что у меня в системе четыре com и три lpt портов, хотя их два и один соответсвенно, как получит правильную информацию о наличии портов?


 
Kolan ©   (2006-05-31 22:24) [1]


> как получит правильную информацию о наличии портов?
>

Я думаю просто попытать ся их открыть... Удачно - он есть нет, значит нет...


 
Корешь   (2006-05-31 22:29) [2]

оно конечно можно, но если в это время порт занят кемто то получится что его нет....


 
Kolan ©   (2006-05-31 22:32) [3]

Как узнать имена установленных в системе COM-портов?
Previous  Top  Next  

uses Registry;  

procedure TForm1.Button1Click(Sender: TObject);  
var  
 reg : TRegistry;  
 ts : TStrings;  
 i : integer;  
begin  
 reg := TRegistry.Create;  
 reg.RootKey := HKEY_LOCAL_MACHINE;  
 reg.OpenKey("hardware\devicemap\serialcomm",  
             false);  
 ts := TStringList.Create;  
 reg.GetValueNames(ts);  
 for i := 0 to ts.Count -1 do begin  
   Memo1.Lines.Add(reg.ReadString(ts.Strings[i]));  
 end;  
 ts.Free;  
 reg.CloseKey;  
 reg.free;  
end;

Взято с Исходников.ru http://www.sources.ru


 
Корешь   (2006-05-31 22:36) [4]

не то же не катит...
wmi выдает правильные результаты, но не очень хочется его использовать...


 
Kolan ©   (2006-05-31 22:40) [5]

Ну все что знал расказал... (c)


 
tesseract ©   (2006-05-31 23:15) [6]

Kolan см внимательнрее код который я тебе выслал :-).

Там не Tstrings, а TStringList, лучше использовать Assign, а не цикл, остальное верно :-)


 
Kolan ©   (2006-05-31 23:29) [7]


> tesseract ©   (31.05.06 23:15) [6]

Угу...



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

Форум: "WinAPI";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.041 c
15-1158354038
developer2006
2006-09-16 01:00
2006.10.15
расделить OnClick и неведение для MenuItem


3-1155390045
Михаил1234567890
2006-08-12 17:40
2006.10.15
База данных аэропорта


2-1159698030
redlord
2006-10-01 14:20
2006.10.15
listbox выводить текст разным цветом


1-1157525175
lessard
2006-09-06 10:46
2006.10.15
Как быстро скопировать 500 маленьких файлов


2-1159442191
Megabyte
2006-09-28 15:16
2006.10.15
Как хешировать пароли в FireBird 2.0 через IBExpert?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский