AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

belegte ComPorts anzeigen, wie?

Ein Thema von Steph.Delphi · begonnen am 7. Jul 2010 · letzter Beitrag vom 9. Jul 2010
Antwort Antwort
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#1

AW: belegte ComPorts anzeigen, wie?

  Alt 7. Jul 2010, 19:58
Es ist ein Unterschied, ob ich meinen USB-Seriell-Wandler a mein Laptop angeschlossen habe oder nicht. Etwas ganz anderes ist es, ob ich in einem meiner Programme dann auch noch den Port nutze.
Dann kommt noch die Frage, was das genau für ein Port ist und von welchem Programm er wofür genutzt wird. (Com-Port, Bluetooth, GPS, etc.)
Ich hab zum beispiel im moment keinen Wandler dran hängen und trotzdem werden mir von Windows 3 Ports als Belebt angezeigt!
Christian
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: belegte ComPorts anzeigen, wie?

  Alt 8. Jul 2010, 07:05
Hallo,

...Welche es gibt, müsste doch in der Registry stehen. Alles ausprobieren ist doch etwas overhead und wäre zuviel des guten...
also ich habe mich ja auch schon damit beschäftigt. Und es wird ja auch durchaus so von anderen vorgeschlagen http://www.delphipraxis.net/811647-post3.html in dem Post den ich in #2 vorgeschlagen habe. Also sowohl Registry und SetupAPI als auch Durchprobieren.

Das man schlussendlich per SW schwer sagen kann, ob dieser benutzt werden darf - was ja etwas völlig anderes ist als ob er belegt ist - dass ist tatsächlich schwer

Aber das haben ja hier auch schon ein paar andere Festgestellt

Greez, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#3

AW: belegte ComPorts anzeigen, wie?

  Alt 9. Jul 2010, 11:35
Zeigt belegte COMPORTS an:

Delphi-Quellcode:
.
.
  private
    { Private declarations }
    procedure InitializeSerialPorts;
    procedure WMDeviceChange(Var Msg:TMessage); message WM_DEVICECHANGE;
.
.
procedure TForm1.WMDeviceChange(Var Msg:TMessage);
begin
if Msg.Msg=WM_DEVICECHANGE then BEGIN
WindowsBeep(1000,50);
InitializeSerialPorts;
END;
end;

procedure TForm1.InitializeSerialPorts;
var
  port: string;
  i: Integer;
  config: TCommConfig;
  cfsize: DWORD;
begin
  for i := 1 to 16 do //MAX_NO_OF_SERIAL_PORTS
  begin
    if Components[i] is TCheckbox then TCheckbox(Components[i]).checked:=false;
    port := Format('COM%d', [i]);
    cfsize := sizeof(config);
    if GetDefaultCommConfig(PChar(port), config, cfsize) then
    case i of
    1: Checkbox1.checked:=true;
    2: Checkbox2.checked:=true;
    3: Checkbox3.checked:=true;
    4: Checkbox4.checked:=true;
    5: Checkbox5.checked:=true;
    6: Checkbox6.checked:=true;
    7: Checkbox7.checked:=true;
    8: Checkbox8.checked:=true;
    9: Checkbox9.checked:=true;
    10: Checkbox10.checked:=true;
    11: Checkbox11.checked:=true;
    12: Checkbox12.checked:=true;
    13: Checkbox13.checked:=true;
    14: Checkbox14.checked:=true;
    15: Checkbox15.checked:=true;
    16: Checkbox16.checked:=true;
    end;
  end;
end;

Geändert von hathor ( 9. Jul 2010 um 14:48 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:18 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