![]() |
Virtual COM Port ermitteln
Vorerst: ich weiss, dass es
![]() Ich möchte unter allen COM Ports einen bestimmten virtuellen USB COM Port ermitteln (zB. selektiert über die VID und PID). In der MSDN ist ja fast nichts zu finden über die USB Device Classes zu der dieser auch gehört (CDC: Communication Device Class) ... |
Re: Virtual COM Port ermitteln
Hi also ich suche bei den COm Devices mit der nachfolgenden
Funktion nach einem bestimmten Device. Kannst die Funktion ja für deine Bedürfnisse abändern. Du must die setupapi und cfgmgr32 einbinden. Gruß Gucky
Delphi-Quellcode:
function getDevice: string;
const Anschlguid = '{4D36E978-E325-11CE-BFC1-08002BE10318}'; var GUID: PGUID; Buffer: array[0..1023] of TCHAR; NameBuffer: array[0..1023] of Char; Descriptionstr: string; PnPHandle: HDEVINFO; DevData: TSPDevInfoData; DeviceInterfaceData: TSPDeviceInterfaceData; Success: LongBool; BufSize: DWORD; Devn: Integer; S: string; aguid: Tguid; begin LoadSetupApi; LoadConfigManagerApi; GetMem(GUID, SizeOf(TGUID)); guid^ := StringToGUID(Anschlguid); SetupDiGetClassDescription(GUID^, @Buffer[0], Length(Buffer), BufSize); Descriptionstr := PTSTR(@Buffer[0]); aguid := Guid^; PnPHandle := SetupDiGetClassDevs(@AGUID, nil, 0, DIGCF_PRESENT); //PnPHandle := SetupDiGetClassDevs(@AGUID, nil, 0, 0); if PnPHandle = Pointer(INVALID_HANDLE_VALUE) then begin FreeMem(GUID); Result := ''; Exit; end; Devn := 0; repeat DeviceInterfaceData.cbSize := SizeOf(TSPDeviceInterfaceData); DevData.cbSize := SizeOf(DevData); Success := SetupDiEnumDeviceInfo(PnPHandle, Devn, DevData); if Success then begin S := GetRegistryPropertyString(PnPHandle, DevData, SPDRP_FRIENDLYNAME); if S = '' then S := GetRegistryPropertyString(PnPHandle, DevData, SPDRP_DEVICEDESC); if Pos(UMtsappli, s) > 0 then begin Result := StrBetween(s, '(', ')'); end; Inc(Devn); end; until not Success; SetupDiDestroyDeviceInfoList(PnPHandle); UnloadConfigManagerApi; UnloadSetupApi; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz