Aktuelle Zeit: 19.09.2018 05:36

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: SerialPort - Verfügbare Ports & Hardware-ID anzeigen
BeitragVerfasst: 12.06.2018 13:19 
Offline
Benutzeravatar

Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Hallo,
jetzt habe ich leider doch nen Hänger beim SerialPort ...

Bis gerade vorhin hab ich mich noch gefreut, dass PB mittlerweile ne schöne SerialPort-Lib dabei hat :bounce:
Code:
 Port$ = "COM15"

If OpenSerialPort(0, Port$, 115000, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 1024, 1024)
 
  *Puffer = AllocateMemory(1024)

PokeA(*Puffer + 0, $C9)
PokeA(*Puffer + 1, $DA)

WriteSerialPortData(0, *Puffer, 2)
 
   MessageRequester("Information", "SerialPort opened with success")

Else
   MessageRequester("Error", "Can't open the serial port: "+Port$)
EndIf


Zum "reinen" Abfragen der verfügbaren COM-Ports findet man hier und da mal nen Code-Schnipsel.

Aber was natürlich mega wäre:
Ich kenne die Hardware-ID von meinem Gerät, danach könnte ich mir ja den Port "automatisch" auswählen, gerade weil sich an nem anderem USB-Anschluss der Port ändert :praise:

Ich bin hier über die Win32_SerialPort class gestolpert ... aber wie komme ich da ran? Gibts "einfachere" Möglichkeiten?

_________________
v5.62


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SerialPort - Verfügbare Ports & Hardware-ID anzeigen
BeitragVerfasst: 12.06.2018 13:30 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Thomas hat geschrieben:
Ich bin hier über die Win32_SerialPort class gestolpert ... aber wie komme ich da ran? Gibts "einfachere" Möglichkeiten?

Das ist eine WMI-Klasse. PB kann leider kein WMI, aber mit meiner DLL-Datei ist es möglich und du kannst damit sehr einfach auf jede WMI-Klasse zugreifen und die jeweiligen Informationen auslesen: viewtopic.php?f=11&t=30687

_________________
BildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SerialPort - Verfügbare Ports & Hardware-ID anzeigen
BeitragVerfasst: 12.06.2018 13:56 
Offline

Registriert: 15.09.2004 18:11
Wohnort: hamburg
Zugriff auf die Hardware-ID habe ich auch nicht gefunden, aber hiermit kriegste schon mal raus, welche COM-Ports aktiv sind:
Code:
;Modul      RS232_Liste Version 1.01 vom 05.05.2013
#PB_Vers  = "4.20"           
;
;Funktion:  liefert einen WortQueue aller verfügbaren COM´s (COMx {COMy {COMz...}})
;
;Aufruf:    COM_Queue$ = RS232_Liste()
;
;#jaPBeExt exit
Procedure.s RS232_Liste()           ;- liefert String, in dem alle verfügbaren COM´s enthalten sind
  Protected Com$, ComNr, PortNr, Queue$, PortID
  For ComNr = 1 To 20
    Com$ = "COM" + Str(ComNr)
    PortNr = OpenSerialPort(#PB_Any, Com$, 300, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 1024, 1024)
    If PortNr
      PortID=SerialPortID(PortNr)
      EscapeCommFunction_(PortID,#CLRDTR) ;DTR wird immer hochgezogen: wenn ´n Relais dran hängt, kanns gefährlich werden...
      Queue$ + Com$ + " "
      CloseSerialPort(PortNr)
    EndIf
  Next
  ;Debug #DQUOTE$ + Trim(queeu$) + #DQUOTE$
  ProcedureReturn Trim(Queue$)
EndProcedure

_________________
Bild Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SerialPort - Verfügbare Ports & Hardware-ID anzeigen
BeitragVerfasst: 12.06.2018 14:23 
Offline
Benutzeravatar

Registriert: 06.07.2006 19:24
Wohnort: Regensburg
@sibru

Ich hatte damals mal ein kleines COM-Projekt, da hab ich's ählich gemacht.
Sprich COM versuchen zu öffnen und dann entsprechend auflisten.

Dachte es gibt auch eine "hübschere" Lösung :mrgreen:

_________________
v5.62


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SerialPort - Verfügbare Ports & Hardware-ID anzeigen
BeitragVerfasst: 13.06.2018 09:52 
Offline
Benutzeravatar

Registriert: 25.01.2005 12:19
Thomas hat geschrieben:
Ich hatte damals mal ein kleines COM-Projekt, da hab ich's ählich gemacht.
Sprich COM versuchen zu öffnen und dann entsprechend auflisten.

Dachte es gibt auch eine "hübschere" Lösung :mrgreen:

Andere Lösungen:
- ABBKlaus (über API-Funktion EnumPorts())
- HeXOR (Auslesen der Registry)
- Kiffi (Nutzung von WMI mit COMatePLUS)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye