/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
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


"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 ??

det er vel bare en WMI forsørgelse efter serial porte

http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=9ef05cbd-c1c5-41e7-9da8-212c414a7ab0




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


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste