Avatar billede beltzer Nybegynder
01. januar 2001 - 18:23 Der er 5 kommentarer

Duplex mode - Netværkshastighed

Hej

Håber nogle har en ide om dette spm !!!!!

Hvordan laver man et kald så man kan ændre duplex mode via knapper ?

1.    KNAP =  Half Duplex
2.    KNAP =  Full Duplex
3.    KNAP = Auto Select

Med venlig Hilsen
Anders C. Pedersen
acp@codename.dk
Avatar billede joern Nybegynder
01. januar 2001 - 19:16 #1
Hej Belzer.

Jeg tror ikke det går.  Der kræves vist genstart for at en ændring bliver gyldig.

M.v.h.  Jørn
Avatar billede beltzer Nybegynder
01. januar 2001 - 22:53 #2
ja, det er jeg kilar over, men er det muligt ?
Avatar billede beltzer Nybegynder
01. januar 2001 - 22:53 #3
kilar = klar sorry
Avatar billede tdaugaard Nybegynder
01. januar 2001 - 23:03 #4
Du skal jo have adgang til at kunne ændre Windows\' HW states, og der skal du nok have fat i noget API, desuden skal du jo vide ID\'et på det netkort du vil skifte Duplex mode på.
Avatar billede zorkno Nybegynder
02. juli 2003 - 17:13 #5
Du kan jo prøve:
Sett inn tre(3) commandbutton med index
en(1) stk textbox

Skriv i form1:

' ---------------- start på form1 -------------------

Private Sub Command1_Click(Index As Integer)

Text1.Text = Command1(Index).Caption

Call savestring(HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000", "Duplexmode", Text1.Text)

End Sub

Private Sub Form_Load()
Command1(0).Caption = getstring(HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000\ndi\params\duplexmode\enum", "FullDuplex")
Command1(1).Caption = getstring(HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000\ndi\params\duplexmode\enum", "HalfDuplex")
Command1(2).Caption = getstring(HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000\ndi\params\duplexmode\enum", "HardwareDefault")
'Text1.Visible = False ' sett til true for debug mulighet

Text1.Text = Command1(Index).Caption

End Sub


'---------------- slutt på form1 ---------------------


Sett inn en modul - skriv inn:



'------------------- Start på modul -------------------


Declare Function RegCloseKey Lib "advapi32.dll" (ByVal Hkey As Long) As Long
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal Hkey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal Hkey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
   
    Public Const REG_SZ = 1 ' Unicode nul terminated String
    Public Const REG_DWORD = 4 ' 32-bit number

Public Sub savestring(Hkey As Long, strPath As String, strValue As String, strdata As String)
    Dim keyhand As Long
    Dim r As Long
    r = RegCreateKey(Hkey, strPath, keyhand)
    r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal strdata, Len(strdata))
    r = RegCloseKey(keyhand)
End Sub

Public Function getstring(Hkey As Long, strPath As String, strValue As String)
   
    Dim keyhand As Long
    Dim datatype As Long
    Dim lResult As Long
    Dim strBuf As String
    Dim lDataBufSize As Long
    Dim intZeroPos As Integer
    r = RegOpenKey(Hkey, strPath, keyhand)
    lResult = RegQueryValueEx(keyhand, strValue, 0&, lValueType, ByVal 0&, lDataBufSize)


    If lValueType = REG_SZ Then
        strBuf = String(lDataBufSize, " ")
        lResult = RegQueryValueEx(keyhand, strValue, 0&, 0&, ByVal strBuf, lDataBufSize)


        If lResult = ERROR_SUCCESS Then
            intZeroPos = InStr(strBuf, Chr$(0))


            If intZeroPos > 0 Then
                getstring = Left$(strBuf, intZeroPos - 1)
            Else
                getstring = strBuf
            End If
        End If
    End If
End Function

Public Sub savekey(Hkey As Long, strPath As String)
    Dim keyhand&
    r = RegCreateKey(Hkey, strPath, keyhand&)
    r = RegCloseKey(keyhand&)
End Sub


'------------ Slutt på modul -----------------


'Håper dette hjelper det litt på vei.
'Lykke til..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester