[elektro] UART status kijelzés (widget?)
Kovács József
kj at faldeko.hu
Tue Feb 18 12:09:10 CET 2014
Ez a szükséges WIN API függvény...
GetDefaultCommConfigA
VBNET alapon itt a példa:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363262%28v=vs.85%29.aspx
VisaulBASIC 6 alapon pl. így használom
A példa kimenete: http://faldeko.hu/comports.jpg
KJ
A szükséges deklarációk egy Modul-ban.
'--------------------------------------------
Type DCB
DCBlength As Long
BaudRate As Long
fBitFields As Long
wReserved As Integer
XonLim As Integer
XoffLim As Integer
ByteSize As Byte
Parity As Byte
StopBits As Byte
XonChar As Byte
XoffChar As Byte
ErrorChar As Byte
EofChar As Byte
EvtChar As Byte
wReserved1 As Integer
End Type
Type COMMCONFIG
dwSize As Long
wVersion As Integer
wReserved As Integer
dcbx As DCB
dwProviderSubType As Long
dwProviderOffset As Long
dwProviderSize As Long
wcProviderData As Byte
End Type
Declare Function GetDefaultCommConfig Lib "kernel32" Alias
"GetDefaultCommConfigA" (ByVal lpszName As String, lpCC As COMMCONFIG,
lpdwSize As Long) As Long
Public Function EnumSerPorts(port As Integer) As Long
'returns non-zero value if the port exists
Dim cc As COMMCONFIG, ccsize As Long
ccsize = LenB(cc) 'gets the size of COMMCONFIG structure
EnumSerPorts = GetDefaultCommConfig("COM" + Trim(Str(port)) +
Chr(0), cc, ccsize)
End Function
'----------------------------------------------------------
...és a Form kódja, amin van egy Label a kííráshoz.
'-----------------------------------------------------------
Option Explicit
Dim PortNum As Integer
Dim PortNumMin As Integer
Dim PortNumMax As Integer
Private Sub Form_Load()
Beep
PortNumMin = 0
PortNumMax = 30
Me.Show
PortNum = PortNumMin
'Start port kereses
While PortNum < PortNumMax
PortNum = PortNum + 1
If EnumSerPorts(PortNum) Then
Label2 = Label2 & "COM" & PortNum & IIf(PortNum < 10, " ",
" ") & "VAN" & vbCrLf
Else
Label2 = Label2 & "COM" & PortNum & IIf(PortNum < 10, " ",
" ") & "-------" & vbCrLf
End If
Wend
Beep
End Sub
'----------------------------------------------------------------------
2014.02.18. 11:01 keltezéssel, elektrolight írta:
> Sziasztok..
>
> COM X,Y,Z küzdök..
>
> ilyen USB-soros átalakítókkal..
> Van éppen pár darab.
>
> Az a gondom, hogy ha kihúzkodom,
> és más sorrendbe kerülnek vissza
> időnként megváltoznak a pozíciószámok..
>
> Kérdezném, milyen néven keressek,
> vagy tudtok e ajánlani olyan programot..
>
> Amelyik kijelzi az összes sorosport státuszát
> ( tehát hogy létezik e, és éppen használatban van , vagy se... )
>
> anélkül hogy azokat megnyitná..
> Ez valami rendszerszintű kiírás lehetne..
> Mert esetleg saját programmal ellenőrizném,
> ha már megnyitottam , nem engedi megnyitni még egyszer
> ( ez jogos )
>
> Elvileg WIN7 alatt szeretnék valami kis mindig látható
> APP-ot pl. a kijelzőre , amely jelzi a létező portokat, és kiszínezi
> a már használatban lévőket..
> Ja , és jó ha nem foglal sok helyet a képernyőn.
>
> Üdv István
>
> -----------------------------------------
> elektro[-flame|-etc]
>
>
> -----
> A(z) üzenetben nem található vírus.
> Ellenőrizte: AVG - www.avg.com
> Verzió: 2013.0.3462 / Vírus adatbázis: 3705/7102 - Kiadás dátuma: 2014.02.17.
>
>
>
More information about the Elektro
mailing list