vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 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

VB.NET - Fortgeschrittene
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo kommt ggf die Verb. her 
Autor: SuperEbse
Datum: 26.05.10 15:39

Danke vielmals zunächst,

nun bin ich solangsam an dem Punkt, wo ich wenigesten ein Paar Werte aus den API Calls als Ergebnis bekomme. Nur scheint eine Funktion nicht zu funktionieren. Finde den Grund auch mit Hilfe von pinkvoke.net nicht (leider).

Hier mein aktueller Code Ausschnitt:

Die Deklarattionen
    'Funktionsdefinition API-Aufruf für Session-Daten auslesen
    <DllImport("wtsapi32", CharSet:=CharSet.Ansi)> _
    Public Function WTSQuerySessionInformation( _
     ByVal hServer As Int32, _
     ByVal SessionId As Int32, _
     ByVal InfoClass As WTSInfoClass, _
     ByRef ppBuffer As IntPtr, _
     ByRef pCount As Int32) As Int32
    End Function
 
 
    'Funktionsdefinition für API-Aufruf "Speicher freigeben",
    <DllImport("wtsapi32", ExactSpelling:=True, SetLastError:=False)> _
    Private Sub WTSFreeMemory(ByVal pMemory As IntPtr)
 
    End Sub
 
    'String API's
    <DllImport("kernel32", EntryPoint:="lstrcpyA", SetLastError:=True, _
      CharSet:=CharSet.Ansi)> _
    Private Function StrCopyA(ByVal retval As String, ByVal Ptr As IntPtr) As _
    Int32
 
    End Function
 
    <DllImport("kernel32", EntryPoint:="lstrlenA", SetLastError:=True, _
      CharSet:=CharSet.Ansi)> _
    Private Function StrLenA(ByVal Ptr As IntPtr) As Int32
 
    End Function
Der Rest:

Public Function GetWTSQueryHost(ByVal SessionID As Int32) As String
        Dim retval As Int32
        Dim lpBuffer As Int32
 
        Dim Count As Int32
        Dim lName As Int32
        Dim sName As String = ""
 
        Try
 
 
            'Remotesitzungsinformationen holen
            retval = WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, _
                SessionID, WTSInfoClass.WTSClientName, lpBuffer, Count)
 
            'Funktionsausschnitt
            ' Prozedur erfolgreich
            If retval Then
 
                'Stringlänge ermitteln
                lName = StrLenA(lpBuffer)
 
                If lName <> 0 Then
 
                    'String initialisieren
                    sName = New String(" ", lName)
                    'String kopieren
                    Call StrCopyA(sName, lpBuffer)
                End If
 
                ' Speicher wieder freigeben
                WTSFreeMemory(lpBuffer)
            Else ....
Ich habe nun das Poblem, dass die Funktion StrCopyA mit den übergebenen buffer nicht in die Variable zurückfüllt.

Zwar sind die Ergebnisse in der Variable lBuffer zwischen vb6 und .net noch unterschiedlich lName ist in beiden Fällen gleich, aber das kann ja nicht das Problem am Ende sein.

Gibt es dafür keine .net Lösung um das Thema anzugehen? Mir ist bei Funktionen, wo man nicht weiss was wie und wo passiert etwas unwohl. Man sieht es ja... Finde den Fehler nicht.

An die Cracks unter Euch. pls help. Ein kleiner Tipp wäre auch schon sehr hilfreich.

Greetz SuperEbse
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Prüfen ob logged in User per RDP verbunden ist u. von Wo kom...8.265SuperEbse26.05.10 07:29
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...7.251SuperEbse26.05.10 09:53
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.614JensWerner24.11.10 09:31
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.670ModeratorDaveS24.11.10 10:03
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.585JensWerner24.11.10 10:15
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.562ModeratorDaveS24.11.10 10:48
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.619JensWerner24.11.10 11:01
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.564ModeratorDaveS24.11.10 11:14
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.527JensWerner24.11.10 11:25
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.550ModeratorDaveS24.11.10 11:41
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.538JensWerner24.11.10 11:59
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...7.087SuperEbse26.05.10 11:52
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.861ModeratorDaveS26.05.10 11:54
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.799SuperEbse26.05.10 12:08
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.927ModeratorDaveS26.05.10 12:29
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.837SuperEbse26.05.10 15:39
Prüfen ob logged in User per RDP verbunden ist u. von Wo kom...7.038SuperEbse26.05.10 16:50
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...7.137SuperEbse28.05.10 12:08
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.949ModeratorFZelle28.05.10 13:08
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.798SuperEbse28.05.10 13:26
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...7.018SuperEbse30.05.10 20:49
Re: Prüfen ob logged in User per RDP verbunden ist u. von Wo...6.855SuperEbse31.05.10 08:19

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