|
| Serial Port Fra : ST |
Dato : 20-08-04 08:01 |
|
Jeg har lavet et program, hvor jeg har oprettet 4 seriel porte man kan vælge
at tilslutte sig. Dette er uhensigtsmæssigt da mange computere, måske,kun
har 2 porte.
Hvordan får man vist hvor mange porte der er og deres nummer ??
| |
Per (20-08-2004)
| Kommentar Fra : Per |
Dato : 20-08-04 20:09 |
|
ST < Not@valid.com > skrev følgende:
> Jeg har lavet et program, hvor jeg har oprettet 4 seriel porte man kan vælge
> at tilslutte sig. Dette er uhensigtsmæssigt da mange computere, måske,kun
> har 2 porte.
>
> Hvordan får man vist hvor mange porte der er og deres nummer ??
Hej ST,
Følgende er fundet i en nyhedsgruppe via Google:
I find that the best way is to (attempt) to open each port in sequence.
Use On Error Resume Next, and test the Err object for an error after
open (if using MSComm, which is easiest), this would look a little like:
Dim I As Integer
On Error Resume Next
For I = 1 to 16
MSComm1.Comport = I
MSComm1.PortOpen = True
If Err.Number = 0 and MSComm1.PortOpen = True Then
ListBox1.AddItem "Com" & Format$(I)
MSComm1.PortOpen = False
End If
Next I
'etc.
There are other possibilities (such as the EnumPorts API). However, you
can enhance the above code to use the Err.Number to decide if a port is
available but already in use by another application, etc., something not
possible with EnumPorts.
Richard Grier (Microsoft Visual Basic MVP)
Hard & Software
--
Med venlig hilsen
Per
| |
ST (21-08-2004)
| Kommentar Fra : ST |
Dato : 21-08-04 17:13 |
|
Hej
Det denne kode gør er at tjekke hvilke porte der kommer data ind på.
Det jeg ønsker er at hvilke og hvor mange porte der er på computeren,,,ikke
hvilke der er aktive.
"Per" <Jensenp@Hotmail.com> wrote in message
news:MPG.1b906ac958c2b4e19896b8@dtext.news.tele.dk...
> ST < Not@valid.com > skrev følgende:
>
> > Jeg har lavet et program, hvor jeg har oprettet 4 seriel porte man kan
vælge
> > at tilslutte sig. Dette er uhensigtsmæssigt da mange computere,
måske,kun
> > har 2 porte.
> >
> > Hvordan får man vist hvor mange porte der er og deres nummer ??
>
> Hej ST,
>
> Følgende er fundet i en nyhedsgruppe via Google:
>
>
> I find that the best way is to (attempt) to open each port in sequence.
> Use On Error Resume Next, and test the Err object for an error after
> open (if using MSComm, which is easiest), this would look a little like:
>
> Dim I As Integer
> On Error Resume Next
> For I = 1 to 16
> MSComm1.Comport = I
> MSComm1.PortOpen = True
> If Err.Number = 0 and MSComm1.PortOpen = True Then
> ListBox1.AddItem "Com" & Format$(I)
> MSComm1.PortOpen = False
> End If
> Next I
> 'etc.
>
> There are other possibilities (such as the EnumPorts API). However, you
> can enhance the above code to use the Err.Number to decide if a port is
> available but already in use by another application, etc., something not
> possible with EnumPorts.
>
> Richard Grier (Microsoft Visual Basic MVP)
> Hard & Software
>
>
> --
> Med venlig hilsen
>
> Per
| |
Per (21-08-2004)
| Kommentar Fra : Per |
Dato : 21-08-04 19:49 |
|
ST < ST@notvalid.dk > skrev følgende:
> Hej
>
> Det denne kode gør er at tjekke hvilke porte der kommer data ind på.
>
> Det jeg ønsker er at hvilke og hvor mange porte der er på computeren,,,ikke
> hvilke der er aktive.
>
>
Hej ST,
Jeg har været på jagt i nyhedsgrupperne igen - en mulighed kunne være at
læse i registry under HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
--
Med venlig hilsen
Per
| |
Thomas Bøjstrup Joha~ (21-08-2004)
| Kommentar Fra : Thomas Bøjstrup Joha~ |
Dato : 21-08-04 19:23 |
| | |
Thomas Bøjstrup Joha~ (21-08-2004)
| Kommentar Fra : Thomas Bøjstrup Joha~ |
Dato : 21-08-04 19:29 |
|
"Thomas Bøjstrup Johansen" <tooms@post1.tele.dk> skrev i en meddelelse
news:vrMVc.565$9r4.44@news.get2net.dk...
dette vbs script skulle kunne det...
----------------------------------------------------------------------------
----------------
On Error Resume Next
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_SerialPort",,48)
For Each objItem in colItems
Wscript.Echo "Availability: " & objItem.Availability
Wscript.Echo "Binary: " & objItem.Binary
Wscript.Echo "Capabilities: " & objItem.Capabilities
Wscript.Echo "CapabilityDescriptions: " & objItem.CapabilityDescriptions
Wscript.Echo "Caption: " & objItem.Caption
Wscript.Echo "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
Wscript.Echo "ConfigManagerUserConfig: " &
objItem.ConfigManagerUserConfig
Wscript.Echo "CreationClassName: " & objItem.CreationClassName
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "DeviceID: " & objItem.DeviceID
Wscript.Echo "ErrorCleared: " & objItem.ErrorCleared
Wscript.Echo "ErrorDescription: " & objItem.ErrorDescription
Wscript.Echo "InstallDate: " & objItem.InstallDate
Wscript.Echo "LastErrorCode: " & objItem.LastErrorCode
Wscript.Echo "MaxBaudRate: " & objItem.MaxBaudRate
Wscript.Echo "MaximumInputBufferSize: " & objItem.MaximumInputBufferSize
Wscript.Echo "MaximumOutputBufferSize: " &
objItem.MaximumOutputBufferSize
Wscript.Echo "MaxNumberControlled: " & objItem.MaxNumberControlled
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "OSAutoDiscovered: " & objItem.OSAutoDiscovered
Wscript.Echo "PNPDeviceID: " & objItem.PNPDeviceID
Wscript.Echo "PowerManagementCapabilities: " &
objItem.PowerManagementCapabilities
Wscript.Echo "PowerManagementSupported: " &
objItem.PowerManagementSupported
Wscript.Echo "ProtocolSupported: " & objItem.ProtocolSupported
Wscript.Echo "ProviderType: " & objItem.ProviderType
Wscript.Echo "SettableBaudRate: " & objItem.SettableBaudRate
Wscript.Echo "SettableDataBits: " & objItem.SettableDataBits
Wscript.Echo "SettableFlowControl: " & objItem.SettableFlowControl
Wscript.Echo "SettableParity: " & objItem.SettableParity
Wscript.Echo "SettableParityCheck: " & objItem.SettableParityCheck
Wscript.Echo "SettableRLSD: " & objItem.SettableRLSD
Wscript.Echo "SettableStopBits: " & objItem.SettableStopBits
Wscript.Echo "Status: " & objItem.Status
Wscript.Echo "StatusInfo: " & objItem.StatusInfo
Wscript.Echo "Supports16BitMode: " & objItem.Supports16BitMode
Wscript.Echo "SupportsDTRDSR: " & objItem.SupportsDTRDSR
Wscript.Echo "SupportsElapsedTimeouts: " &
objItem.SupportsElapsedTimeouts
Wscript.Echo "SupportsIntTimeouts: " & objItem.SupportsIntTimeouts
Wscript.Echo "SupportsParityCheck: " & objItem.SupportsParityCheck
Wscript.Echo "SupportsRLSD: " & objItem.SupportsRLSD
Wscript.Echo "SupportsRTSCTS: " & objItem.SupportsRTSCTS
Wscript.Echo "SupportsSpecialCharacters: " &
objItem.SupportsSpecialCharacters
Wscript.Echo "SupportsXOnXOff: " & objItem.SupportsXOnXOff
Wscript.Echo "SupportsXOnXOffSet: " & objItem.SupportsXOnXOffSet
Wscript.Echo "SystemCreationClassName: " &
objItem.SystemCreationClassName
Wscript.Echo "SystemName: " & objItem.SystemName
Wscript.Echo "TimeOfLastReset: " & objItem.TimeOfLastReset
Next
| |
ST (22-08-2004)
| Kommentar Fra : ST |
Dato : 22-08-04 13:11 |
|
Der er vist lige noget jeg skal have læst før jeg fatter dit indlæg.
"Thomas Bøjstrup Johansen" <tooms@post1.tele.dk> wrote in message
news:KwMVc.576$nI4.79@news.get2net.dk...
>
> "Thomas Bøjstrup Johansen" <tooms@post1.tele.dk> skrev i en meddelelse
> news:vrMVc.565$9r4.44@news.get2net.dk...
>
>
> dette vbs script skulle kunne det...
> --------------------------------------------------------------------------
--
> ----------------
>
> On Error Resume Next
>
> Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
> Set colItems = objWMIService.ExecQuery("Select * from
Win32_SerialPort",,48)
>
> For Each objItem in colItems
> Wscript.Echo "Availability: " & objItem.Availability
> Wscript.Echo "Binary: " & objItem.Binary
> Wscript.Echo "Capabilities: " & objItem.Capabilities
> Wscript.Echo "CapabilityDescriptions: " &
objItem.CapabilityDescriptions
> Wscript.Echo "Caption: " & objItem.Caption
> Wscript.Echo "ConfigManagerErrorCode: " &
objItem.ConfigManagerErrorCode
> Wscript.Echo "ConfigManagerUserConfig: " &
> objItem.ConfigManagerUserConfig
> Wscript.Echo "CreationClassName: " & objItem.CreationClassName
> Wscript.Echo "Description: " & objItem.Description
> Wscript.Echo "DeviceID: " & objItem.DeviceID
> Wscript.Echo "ErrorCleared: " & objItem.ErrorCleared
> Wscript.Echo "ErrorDescription: " & objItem.ErrorDescription
> Wscript.Echo "InstallDate: " & objItem.InstallDate
> Wscript.Echo "LastErrorCode: " & objItem.LastErrorCode
> Wscript.Echo "MaxBaudRate: " & objItem.MaxBaudRate
> Wscript.Echo "MaximumInputBufferSize: " &
objItem.MaximumInputBufferSize
> Wscript.Echo "MaximumOutputBufferSize: " &
> objItem.MaximumOutputBufferSize
> Wscript.Echo "MaxNumberControlled: " & objItem.MaxNumberControlled
> Wscript.Echo "Name: " & objItem.Name
> Wscript.Echo "OSAutoDiscovered: " & objItem.OSAutoDiscovered
> Wscript.Echo "PNPDeviceID: " & objItem.PNPDeviceID
> Wscript.Echo "PowerManagementCapabilities: " &
> objItem.PowerManagementCapabilities
> Wscript.Echo "PowerManagementSupported: " &
> objItem.PowerManagementSupported
> Wscript.Echo "ProtocolSupported: " & objItem.ProtocolSupported
> Wscript.Echo "ProviderType: " & objItem.ProviderType
> Wscript.Echo "SettableBaudRate: " & objItem.SettableBaudRate
> Wscript.Echo "SettableDataBits: " & objItem.SettableDataBits
> Wscript.Echo "SettableFlowControl: " & objItem.SettableFlowControl
> Wscript.Echo "SettableParity: " & objItem.SettableParity
> Wscript.Echo "SettableParityCheck: " & objItem.SettableParityCheck
> Wscript.Echo "SettableRLSD: " & objItem.SettableRLSD
> Wscript.Echo "SettableStopBits: " & objItem.SettableStopBits
> Wscript.Echo "Status: " & objItem.Status
> Wscript.Echo "StatusInfo: " & objItem.StatusInfo
> Wscript.Echo "Supports16BitMode: " & objItem.Supports16BitMode
> Wscript.Echo "SupportsDTRDSR: " & objItem.SupportsDTRDSR
> Wscript.Echo "SupportsElapsedTimeouts: " &
> objItem.SupportsElapsedTimeouts
> Wscript.Echo "SupportsIntTimeouts: " & objItem.SupportsIntTimeouts
> Wscript.Echo "SupportsParityCheck: " & objItem.SupportsParityCheck
> Wscript.Echo "SupportsRLSD: " & objItem.SupportsRLSD
> Wscript.Echo "SupportsRTSCTS: " & objItem.SupportsRTSCTS
> Wscript.Echo "SupportsSpecialCharacters: " &
> objItem.SupportsSpecialCharacters
> Wscript.Echo "SupportsXOnXOff: " & objItem.SupportsXOnXOff
> Wscript.Echo "SupportsXOnXOffSet: " & objItem.SupportsXOnXOffSet
> Wscript.Echo "SystemCreationClassName: " &
> objItem.SystemCreationClassName
> Wscript.Echo "SystemName: " & objItem.SystemName
> Wscript.Echo "TimeOfLastReset: " & objItem.TimeOfLastReset
> Next
>
>
| |
Jesper (22-08-2004)
| Kommentar Fra : Jesper |
Dato : 22-08-04 18:52 |
|
Jeg bruger denne kode.....
Jesper....
ComBox.Clear
ComBox.AddItem "Off"
For i = 1 To 8
If IsComPortAvailable(i) Then
ComBox.AddItem "Com " & i
End If
Next
LptBox.Clear
LptBox.AddItem "Off"
For i = 1 To 8
If IsLptPortAvailable(i) Then
LptBox.AddItem "Lpt:" & i
End If
Next
Function IsComPortAvailable(ByVal portNum As Integer) As Boolean
Dim fnum As Integer
On Error Resume Next
fnum = FreeFile
Open "COM" & CStr(portNum) For Binary Shared As #fnum
If err = 0 Then
Close #fnum
IsComPortAvailable = True
End If
Close #fnum
End Function
Function IsLptPortAvailable(ByVal portNum As Integer) As Boolean
Dim fnum As Integer
On Error Resume Next
fnum = FreeFile
Open "LPT" & CStr(portNum) For Binary Shared As #fnum
If err = 0 Then
Close #fnum
IsLptPortAvailable = True
End If
Close #fnum
End Function
"ST" <Not@valid.com> skrev i en meddelelse
news:4125a1c3$0$240$edfadb0f@dread16.news.tele.dk...
> Jeg har lavet et program, hvor jeg har oprettet 4 seriel porte man kan
vælge
> at tilslutte sig. Dette er uhensigtsmæssigt da mange computere, måske,kun
> har 2 porte.
>
> Hvordan får man vist hvor mange porte der er og deres nummer ??
>
>
| |
ST (23-08-2004)
| Kommentar Fra : ST |
Dato : 23-08-04 07:35 |
|
Perfekt. Det var lige hvad jeg skulle bruge.
"Jesper" <oz5@pc.dk> skrev i en meddelelse
news:4128dd59$0$221$edfadb0f@dread12.news.tele.dk...
> Jeg bruger denne kode.....
>
> Jesper....
>
>
> ComBox.Clear
> ComBox.AddItem "Off"
> For i = 1 To 8
> If IsComPortAvailable(i) Then
> ComBox.AddItem "Com " & i
> End If
> Next
>
> LptBox.Clear
> LptBox.AddItem "Off"
> For i = 1 To 8
> If IsLptPortAvailable(i) Then
> LptBox.AddItem "Lpt:" & i
> End If
> Next
>
>
> Function IsComPortAvailable(ByVal portNum As Integer) As Boolean
> Dim fnum As Integer
> On Error Resume Next
> fnum = FreeFile
> Open "COM" & CStr(portNum) For Binary Shared As #fnum
> If err = 0 Then
> Close #fnum
> IsComPortAvailable = True
> End If
> Close #fnum
> End Function
>
> Function IsLptPortAvailable(ByVal portNum As Integer) As Boolean
> Dim fnum As Integer
> On Error Resume Next
> fnum = FreeFile
> Open "LPT" & CStr(portNum) For Binary Shared As #fnum
> If err = 0 Then
> Close #fnum
> IsLptPortAvailable = True
> End If
> Close #fnum
> End Function
>
> "ST" <Not@valid.com> skrev i en meddelelse
> news:4125a1c3$0$240$edfadb0f@dread16.news.tele.dk...
> > Jeg har lavet et program, hvor jeg har oprettet 4 seriel porte man kan
> vælge
> > at tilslutte sig. Dette er uhensigtsmæssigt da mange computere,
måske,kun
> > har 2 porte.
> >
> > Hvordan får man vist hvor mange porte der er og deres nummer ??
> >
> >
>
>
| |
Jesper (23-08-2004)
| Kommentar Fra : Jesper |
Dato : 23-08-04 16:10 |
|
Der er dog en ulempe ved den. Jeg bruger den bla. til at styre en
amatørradio med. Når den checker comporte,
så taster den på radioerne 3-4 gange, og det lyder ikke godt.
Så hvis der er andre måder at checke om en comport eksisterer, uden at åbne
porten, så vil jeg MEGET gerne høre om det....
Jesper....
> >
> > ComBox.Clear
> > ComBox.AddItem "Off"
> > For i = 1 To 8
> > If IsComPortAvailable(i) Then
> > ComBox.AddItem "Com " & i
> > End If
> > Next
> >
> > LptBox.Clear
> > LptBox.AddItem "Off"
> > For i = 1 To 8
> > If IsLptPortAvailable(i) Then
> > LptBox.AddItem "Lpt:" & i
> > End If
> > Next
> >
> >
> > Function IsComPortAvailable(ByVal portNum As Integer) As Boolean
> > Dim fnum As Integer
> > On Error Resume Next
> > fnum = FreeFile
> > Open "COM" & CStr(portNum) For Binary Shared As #fnum
> > If err = 0 Then
> > Close #fnum
> > IsComPortAvailable = True
> > End If
> > Close #fnum
> > End Function
> >
> > Function IsLptPortAvailable(ByVal portNum As Integer) As Boolean
> > Dim fnum As Integer
> > On Error Resume Next
> > fnum = FreeFile
> > Open "LPT" & CStr(portNum) For Binary Shared As #fnum
> > If err = 0 Then
> > Close #fnum
> > IsLptPortAvailable = True
> > End If
> > Close #fnum
> > End Function
| |
Lars Holm Jensen (23-08-2004)
| Kommentar Fra : Lars Holm Jensen |
Dato : 23-08-04 17:56 |
|
Som tidligere nævnt prøv at bruge den her registreringsdatabasesti:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
Den passer i mit tilfælde..
Hvis det er et problem at finde ud af, hvad man gør, så skriv lige..
/Lars
| |
ST (23-08-2004)
| Kommentar Fra : ST |
Dato : 23-08-04 20:07 |
|
Ja. Jeg troede at jeg kunne finde ud af at læse fra registreringsdatabasen
(getsetting), men til min overraskelse det kræver API kald og dem er jeg
ikke så god til.
Jeg er meget interesseret i at se hvordan du gør.
"Lars Holm Jensen" <lhj@larsholm.net> wrote in message
news:412a21a1$0$215$14726298@news.sunsite.dk...
> Som tidligere nævnt prøv at bruge den her registreringsdatabasesti:
> HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
>
> Den passer i mit tilfælde..
> Hvis det er et problem at finde ud af, hvad man gør, så skriv lige..
> /Lars
>
>
| |
Lars Holm Jensen (23-08-2004)
| Kommentar Fra : Lars Holm Jensen |
Dato : 23-08-04 21:54 |
|
> Ja. Jeg troede at jeg kunne finde ud af at læse fra registreringsdatabasen
> (getsetting), men til min overraskelse det kræver API kald og dem er jeg
> ikke så god til.
>
> Jeg er meget interesseret i at se hvordan du gør.
Her er et lille eksempel..
Private Sub Command1_Click()
Dim values() As String, comports() As String
retval = EnumValue(HKEY_LOCAL_MACHINE, "HARDWARE\DEVICEMAP\SERIALCOMM",
values)
ReDim comports(UBound(values))
For t = 0 To UBound(values)
comports(t) = GetStringValue(HKEY_LOCAL_MACHINE,
"HARDWARE\DEVICEMAP\SERIALCOMM", values(t))
Text1.Text = Text1.Text & vbCrLf & comports(t) & ", number: " &
Val(Right$(comports(t), 1))
Next t
End Sub
For at bruge koden skal man have dette modul, som gør
registeringsdatabasearbejde lidt lettere:
www.larsholm.net/Registry.bas
inkluderet i projektet.
/Lars
| |
ST (24-08-2004)
| Kommentar Fra : ST |
Dato : 24-08-04 08:24 |
|
Det var et noget langhåret BAS modul, men det ser da ud til at det virke.
"Lars Holm Jensen" <lhj@larsholm.net> skrev i en meddelelse
news:412a596e$0$209$14726298@news.sunsite.dk...
> > Ja. Jeg troede at jeg kunne finde ud af at læse fra
registreringsdatabasen
> > (getsetting), men til min overraskelse det kræver API kald og dem er jeg
> > ikke så god til.
> >
> > Jeg er meget interesseret i at se hvordan du gør.
>
> Her er et lille eksempel..
>
> Private Sub Command1_Click()
> Dim values() As String, comports() As String
>
> retval = EnumValue(HKEY_LOCAL_MACHINE, "HARDWARE\DEVICEMAP\SERIALCOMM",
> values)
>
> ReDim comports(UBound(values))
>
> For t = 0 To UBound(values)
> comports(t) = GetStringValue(HKEY_LOCAL_MACHINE,
> "HARDWARE\DEVICEMAP\SERIALCOMM", values(t))
> Text1.Text = Text1.Text & vbCrLf & comports(t) & ", number: " &
> Val(Right$(comports(t), 1))
> Next t
>
> End Sub
>
> For at bruge koden skal man have dette modul, som gør
> registeringsdatabasearbejde lidt lettere:
> www.larsholm.net/Registry.bas
> inkluderet i projektet.
>
> /Lars
>
>
>
| |
ST (23-08-2004)
| Kommentar Fra : ST |
Dato : 23-08-04 20:19 |
|
Jeg opdagede lige en anden ulempe. Den viser ikke de porte som er aktive.
Jeg vil gerne vise alle porte og så skelne mellem dem er er passive og
aktive.
Koden til at vise om en port er i brug har jeg styr på.
"Jesper" <oz5@pc.dk> wrote in message
news:412a2023$0$228$edfadb0f@dread12.news.tele.dk...
> Der er dog en ulempe ved den. Jeg bruger den bla. til at styre en
> amatørradio med. Når den checker comporte,
> så taster den på radioerne 3-4 gange, og det lyder ikke godt.
> Så hvis der er andre måder at checke om en comport eksisterer, uden at
åbne
> porten, så vil jeg MEGET gerne høre om det....
>
>
> Jesper....
>
>
> > >
> > > ComBox.Clear
> > > ComBox.AddItem "Off"
> > > For i = 1 To 8
> > > If IsComPortAvailable(i) Then
> > > ComBox.AddItem "Com " & i
> > > End If
> > > Next
> > >
> > > LptBox.Clear
> > > LptBox.AddItem "Off"
> > > For i = 1 To 8
> > > If IsLptPortAvailable(i) Then
> > > LptBox.AddItem "Lpt:" & i
> > > End If
> > > Next
> > >
> > >
> > > Function IsComPortAvailable(ByVal portNum As Integer) As Boolean
> > > Dim fnum As Integer
> > > On Error Resume Next
> > > fnum = FreeFile
> > > Open "COM" & CStr(portNum) For Binary Shared As #fnum
> > > If err = 0 Then
> > > Close #fnum
> > > IsComPortAvailable = True
> > > End If
> > > Close #fnum
> > > End Function
> > >
> > > Function IsLptPortAvailable(ByVal portNum As Integer) As Boolean
> > > Dim fnum As Integer
> > > On Error Resume Next
> > > fnum = FreeFile
> > > Open "LPT" & CStr(portNum) For Binary Shared As #fnum
> > > If err = 0 Then
> > > Close #fnum
> > > IsLptPortAvailable = True
> > > End If
> > > Close #fnum
> > > End Function
>
>
>
| |
Tomas Christiansen (23-08-2004)
| Kommentar Fra : Tomas Christiansen |
Dato : 23-08-04 23:03 |
|
ST skrev:
> Jeg har lavet et program, hvor jeg har oprettet 4 seriel porte man kan
vælge
> at tilslutte sig. Dette er uhensigtsmæssigt da mange computere, måske,kun
> har 2 porte.
>
> Hvordan får man vist hvor mange porte der er og deres nummer ??
Den "rigtige" måde at håndtere det er nok at bruge de specifikke funktioner,
som findes i forbindelse med serielle porte.
Du kan læse alt om det her: http://tinyurl.com/4kha5
Hvis det er for langhåret (har ikke selv prøvet nogen af funktionerne selv,
så jeg ved ikke om de er lette eller svære at bruge fra VB), så prøv at
google efter en af funktionernes navne samt f.eks. "visual basic", så kan du
måske være heldig at finde noget kode som andre har publiceret.
-------
Tomas
| |
|
|