vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Teil 4: Sendkeys zu ein anderen PC 
Autor: Preisser
Datum: 26.06.09 15:47

Teil 4 (Fortsetzung Code für Server-Anwendung)
Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As _
  Long)
Dim Temp1 As Long
For Temp1 = 1 To UBound(WSocks.WsockClients)
    If Not WSocks.WsockClients(Temp1).Belegt Then Exit For
Next
If Temp1 > UBound(WSocks.WsockClients) Then ReDim Preserve _
  WSocks.WsockClients(UBound(WSocks.WsockClients) + 100) As WsClientsTyp
WSocks.WsockClients(Temp1).Belegt = True
WSocks.AnzahlClientsVerbunden = WSocks.AnzahlClientsVerbunden + 1
Label1 = "Clients verbunden: " & WSocks.AnzahlClientsVerbunden
Load TimerLeerlaufTrennen(Temp1)
TimerLeerlaufTrennen(Temp1).Enabled = True
Load Winsock1(Temp1)
Winsock1(Temp1).Accept requestID
End Sub
 
Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim strTemp As String, arrTemp() As Byte, lngTemp As Long
On Error GoTo WsockErr
 
Winsock1(Index).GetData arrTemp, vbArray + vbByte
strTemp = arrTemp
WSocks.WsockClients(Index).sWsockZwischenspeicher = WSocks.WsockClients( _
  Index).sWsockZwischenspeicher & strTemp
 
WSocks.WsockClients(Index).TimerLeerlaufZaehler = 0
 
If WSocks.WsockClients(Index).nGesamtlaengePaket > 0 Then
    MidB$(WSocks.WsockClients(Index).sPaketZwischenspeicher, _
      WSocks.WsockClients(Index).nBereitsUebertragenPaket + 1) = MidB$( _
      WSocks.WsockClients(Index).sWsockZwischenspeicher, 1, WSocks.WsockClients( _
      Index).nGesamtlaengePaket - WSocks.WsockClients( _
      Index).nBereitsUebertragenPaket)
    lngTemp = LenB(MidB$(WSocks.WsockClients(Index).sWsockZwischenspeicher, 1, _
    WSocks.WsockClients(Index).nGesamtlaengePaket - WSocks.WsockClients( _
    Index).nBereitsUebertragenPaket))
    WSocks.WsockClients(Index).nBereitsUebertragenPaket = WSocks.WsockClients( _
    Index).nBereitsUebertragenPaket + lngTemp
    WSocks.WsockClients(Index).sWsockZwischenspeicher = MidB( _
    WSocks.WsockClients(Index).sWsockZwischenspeicher, 1 + lngTemp)
    If WSocks.WsockClients(Index).nGesamtlaengePaket = WSocks.WsockClients( _
    Index).nBereitsUebertragenPaket Then
        WSocks.WsockClients(Index).nGesamtlaengePaket = 0
        If Not WSocks.WsockClients(Index).sPaketZwischenspeicher = "" Then _
          Winsock1DatenEmpf Index, WSocks.WsockClients( _
          Index).sPaketZwischenspeicher
    End If
End If
 
Do While LenB(WSocks.WsockClients(Index).sWsockZwischenspeicher) >= 4 And _
  WSocks.WsockClients(Index).nGesamtlaengePaket = 0
    WSocks.WsockClients(Index).nGesamtlaengePaket = CLng(AscB(MidB( _
    WSocks.WsockClients(Index).sWsockZwischenspeicher, 1, 1))) * 256& * 256& * _
    256& + CLng(AscB(MidB(WSocks.WsockClients(Index).sWsockZwischenspeicher, 2, _
    1))) * 256& * 256& + CLng(AscB(MidB(WSocks.WsockClients( _
    Index).sWsockZwischenspeicher, 3, 1))) * 256& + CLng(AscB(MidB( _
    WSocks.WsockClients(Index).sWsockZwischenspeicher, 4, 1)))
    If WSocks.WsockClients(Index).nGesamtlaengePaket > 100000000 Then GoTo _
    WsockErr  'Datenpakete > 100 MB ignorieren
    If Not WSocks.WsockClients(Index).nGesamtlaengePaket = 0 Then
        WSocks.WsockClients(Index).nBereitsUebertragenPaket = LenB(MidB$( _
          WSocks.WsockClients(Index).sWsockZwischenspeicher, 5, _
          WSocks.WsockClients(Index).nGesamtlaengePaket))
        WSocks.WsockClients(Index).sPaketZwischenspeicher = StringB( _
        WSocks.WsockClients(Index).nGesamtlaengePaket, ChrB(0))
        MidB$(WSocks.WsockClients(Index).sPaketZwischenspeicher, 1) = MidB$( _
        WSocks.WsockClients(Index).sWsockZwischenspeicher, 5, _
        WSocks.WsockClients(Index).nGesamtlaengePaket)
    End If
    WSocks.WsockClients(Index).sWsockZwischenspeicher = MidB$( _
      WSocks.WsockClients(Index).sWsockZwischenspeicher, 5 + _
      WSocks.WsockClients(Index).nBereitsUebertragenPaket)
    If WSocks.WsockClients(Index).nGesamtlaengePaket = WSocks.WsockClients( _
    Index).nBereitsUebertragenPaket Then
        WSocks.WsockClients(Index).nGesamtlaengePaket = 0
        If Not WSocks.WsockClients(Index).sPaketZwischenspeicher = "" Then _
          Winsock1DatenEmpf Index, WSocks.WsockClients( _
          Index).sPaketZwischenspeicher
    End If
Loop
 
Exit Sub
 
WsockErr:
    WSocks.WsockClients(Index).nGesamtlaengePaket = 0
    WSocks.WsockClients(Index).sWsockZwischenspeicher = ""
End Sub
 
Private Sub Winsock1DatenEmpf(Index As Integer, Daten As String)
'... Datenpaket empfangen
SendKeys Daten
End Sub
 
Private Sub Winsock1_Error(Index As Integer, ByVal Number As Integer, _
  Description As String, ByVal Scode As Long, ByVal Source As String, ByVal _
  HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
If Not Index = 0 Then Winsock1_Close Index 'Listen-Winsock-Fehler ignorieren
End Sub
Damit sollte es funktionieren.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Sendkeys zu ein anderen PC1.200einet24.06.09 14:23
Re: Sendkeys zu ein anderen PC792Preisser24.06.09 18:25
Re: Sendkeys zu ein anderen PC760einet25.06.09 19:19
Re: Sendkeys zu ein anderen PC740Preisser26.06.09 15:44
Teil 2: Sendkeys zu ein anderen PC839Preisser26.06.09 15:45
Teil 3: Sendkeys zu ein anderen PC712Preisser26.06.09 15:46
Teil 4: Sendkeys zu ein anderen PC749Preisser26.06.09 15:47
Re: Teil 4: Sendkeys zu ein anderen PC767einet26.06.09 21:45
Re: Teil 4: Sendkeys zu ein anderen PC796Preisser26.06.09 23:09
Re: Teil 4: Sendkeys zu ein anderen PC739einet27.06.09 00:34
Re: Teil 4: Sendkeys zu ein anderen PC701Preisser04.07.09 18:47
Re: Sendkeys zu ein anderen PC717einet27.06.09 13:59
Re: Sendkeys zu ein anderen PC788einet06.07.09 18:01

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel