AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Alle Comports des Systems auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Alle Comports des Systems auslesen

Ein Thema von hitzi · begonnen am 9. Nov 2004 · letzter Beitrag vom 9. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#1

Alle Comports des Systems auslesen

  Alt 9. Nov 2004, 09:50
Hallo,

gibt es einen Weg die Comports über den Gerätemanager auszulesen? Der Weg über Createfile zu testen, ob ein Comport verfügbar ist, ist mir bekannt. Dieses Verfahren ist leider bei nicht verwendeten Bluetoothanschlüssen zu langsam und erkennt auf einigen Systemen nicht alle Comports.

Im Anhang ist ein Screenshot von dem Informationen, welche ich gern auslesen würde.
Miniaturansicht angehängter Grafiken
comports.jpg  
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Benutzerbild von HaZe
HaZe

Registriert seit: 1. Jul 2004
Ort: Oberottmarshausen
57 Beiträge
 
Delphi 6 Professional
 
#2

Re: Alle Comports des Systems auslesen

  Alt 9. Nov 2004, 10:32
Hi

ich habs jetz nicht getestet aber müsste schon gehn

Delphi-Quellcode:
function CommExists(Commport: Integer): Boolean;
var
  s : Array[0..5] of Char;
  i : LongInt;
  CommConfig: TCommConfig;
begin
  s := 'COMx' + #0;
  s[3] := Chr($31 + CommPort);
  i := SizeOf(CommConfig);
  Result := GetDefaultCommConfig(s,CommConfig, i);
end;
hier hab ich noch ein um die comports aus der registery auszulesen
http://www.delphipraxis.net/viewtopic.php?t=752
mit der suchfunktion findest du noch viele weitere

cYa
HaZe
Domenik
--
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Alle Comports des Systems auslesen

  Alt 9. Nov 2004, 11:14
Ich habe ein Beispiel das alle COM Ports (auch virtuelle) ueber SetupDi-Funktionen aufzaehlt.
Einschliesslich der Bestimmung des Namens des COM Ports (also ueblicherweise COMx).

Das wird ein Beispiel fuer meine neue Setup API und Config Manager API conversion.
Dauert noch ein paar Tage bis sie erscheint.
Eine Vorabversion gebe ich raus wenn man mich direkt anschreibt robert_marquardt att gmx dott de
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Alle Comports des Systems auslesen

  Alt 9. Nov 2004, 11:25
Danke für eure Antworten.

Läuft die Registry Variante auch noch auf Win98 Systemen?
@Robert: Auf welchen Windows Systemen ist deine Lösung anwendbar?
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Benutzerbild von HaZe
HaZe

Registriert seit: 1. Jul 2004
Ort: Oberottmarshausen
57 Beiträge
 
Delphi 6 Professional
 
#5

Re: Alle Comports des Systems auslesen

  Alt 9. Nov 2004, 11:28
also ab win95 und nt4 steht die api-funktion GetDefaultCommConfig zuverfügung unter 98 weis ich es ned, musste halt mal testen
die registry version müsste unter win98 normal gehn
cYa
HaZe
Domenik
--
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Alle Comports des Systems auslesen

  Alt 9. Nov 2004, 11:31
Na gut da geh ich mal davon aus, dass "HKLM\hardware\devicemap\serialcomm" im Laufe der Zeit nicht geändert wurde. Mit dem Test auf einem Win98 System siehts bei mir ganz schlecht aus, da ich selber kein Win98 mehr besitze.
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Benutzerbild von HaZe
HaZe

Registriert seit: 1. Jul 2004
Ort: Oberottmarshausen
57 Beiträge
 
Delphi 6 Professional
 
#7

Re: Alle Comports des Systems auslesen

  Alt 9. Nov 2004, 11:46
Hi

also ich hab jetz mal nach geschaut, unter win 98 sowie win2k ist HKLM\hardware\devicemap\serialcomm verfügbar

cya
Domenik
--
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Alle Comports des Systems auslesen

  Alt 9. Nov 2004, 11:54
Dank dir
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Benutzerbild von HaZe
HaZe

Registriert seit: 1. Jul 2004
Ort: Oberottmarshausen
57 Beiträge
 
Delphi 6 Professional
 
#9

Re: Alle Comports des Systems auslesen

  Alt 9. Nov 2004, 12:01
nochmal hi

ich hab noch eine Komponente gefunden die biete gleich eine combobox mit alle com ports an
http://reweb.fh-weingarten.de/toolbo...ial/index.html

cYa

HaZe
Domenik
--
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Alle Comports des Systems auslesen

  Alt 9. Nov 2004, 12:10
Ich nutze diese Komponente http://sourceforge.net/projects/comport.
Hier gibt es auch die Möglichkeit alle Comports aufzulisten. Nur leider ist auch diese Liste nicht immer vollständig. Am besten bin ich bis mit einer Kombination der von der Comport Komponente angebotenen Liste + CreateFile Check gefahren.
Ich kann mir nur nicht vorstellen, dass es nicht eleganter gelöst werden kann. Deshalb auch meine Frage hier.

[EDIT]Ich werde die von dir genannte Komponente mal antesten, da mir diese bis jetzt nicht bekannt war. Eventuell behebt diese das Problem bei einigen System wo Bluetooth über seriellen Port läuft und bei Benutzung dieses Ports mit der oben genannten Comport Komponente ein Bluescreen auftritt.
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz