ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
390
390
EMPFEHLEN
-
13.09.11 09:55 #1
- Registriert seit
- Sep 2008
- Beiträge
- 96
Hallo zusammen!
Mit folgendem Modul lese ich den aktuell über Remote Desktop verbundenen Client aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
Imports System.Runtime.InteropServices Imports System Module RDP_API Private Const WTS_CURRENT_SERVER_HANDLE As Long = 0 Public Enum WTSInfoClass WTSInitialProgram WTSApplicationName WTSWorkingDirectory WTSOEMID WTSSessionId WTSUserName WTSWinStationName WTSDomainName WTSConnectState WTSClientBuilderNumber WTSClientName WTSClientDirectory WTSClientProductId WTSClientHardwareId WTSClientAddress WTSClientDisplay WTSClientProtocolType End Enum 'WTS Sitzungsanfragen-Struktur Public Structure WTS_SESSION_QUERY Public SessionID As Int32 Public pWinStationName As Int32 Public WTSClientName As String Public senum As WTSInfoClass End Structure 'Funktionsdefinition API-Aufruf für Session-Daten auslesen <DllImport("wtsapi32", CharSet:=CharSet.Ansi)> _ Public Function _ WTSQuerySessionInformation(ByVal hServer As System.IntPtr, ByVal _ sessionId As Integer, ByVal wtsInfoClass As WTSInfoClass, ByRef _ ppBuffer As System.IntPtr, ByRef pBytesReturned As System.UInt32) As _ UInt32 End Function 'Funktionsdefinition für API-Aufruf "Speicher freigeben", <DllImport("wtsapi32", ExactSpelling:=True, SetLastError:=False)> _ Private Sub WTSFreeMemory(ByVal pMemory As IntPtr) End Sub 'Funktion für Auslesen des RDP-Hostnames Public Function GetWTSQueryHost(ByVal SessionID As Int32) As String Dim retval As Int32 Dim lpBuffer As System.IntPtr = IntPtr.Zero Dim Count As System.UInt32 Dim lName As Int32 Dim sName As String = "" Try 'Remotesitzungsinformationen holen 'retval = WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, _ ' SessionID, WTSInfoClass.WTSClientName, lpBuffer, Count) retval = WTSQuerySessionInformation(System.IntPtr.Zero, _ WTS_CURRENT_SERVER_HANDLE, WTSInfoClass.WTSClientName, lpBuffer, _ Count) 'Funktionsausschnitt ' Prozedur erfolgreich If retval Then 'Stringlänge ermitteln lName = Strings.Len( _ System.Runtime.InteropServices.Marshal.PtrToStringAnsi( _ lpBuffer)) If lName <> 0 Then sName = _ System.Runtime.InteropServices.Marshal.PtrToStringAnsi( _ lpBuffer) End If ' Speicher wieder freigeben WTSFreeMemory(lpBuffer) Else 'Prozedurfehler: Keine RDP, Keine DLL da oder sonstwas faul... MsgBox("Fehler beim Auslesen der RDP-Sitzungsdaten. Es konnten" _ & _ "keine Informationen gewonnen werden. ", vbCritical, _ "DLL-Zugriffsfehler " & Err.LastDllError) End If 'Returnwert Return sName 'Form1.Label1.Text = sName Catch ex As Exception Return "" End Try End Function End Module
liefert mir diesen Usernamen.Code :1
GetWTSQueryHost(-1)
Ich lasse regelmäßig den Namen des aktuellen Users in eine Text-Datei schreiben, die von einem anderen Programm ausgelesen wird. Wenn keine Verbindung besteht, soll "frei" in die Text-Datei geschrieben werden. Bei der ersten aktiven Verbindung kappt alles, allerdings beim Trennen dieser "merkt" der Pc sich anscheinend den User, weil immer weiter der Name in die Text-Datei geschrieben wird. Also anstatt "frei" bei keiner Verbindung schreibt er den Namen des ersten Users. Wieso wird nicht erkannt, dass aktuell keine Verbindung besteht? Bin für jede Hilfe dankbar!
Gruß OutsiderGeändert von Outsider77 (13.09.11 um 12:44 Uhr)
-
13.09.11 12:53 #2
- Registriert seit
- Sep 2008
- Beiträge
- 96
Sorry, hatte gleiches Thema bereits vor einem jahr gepostet!
Dieser Thread kann gelöscht werden!
Ähnliche Themen
-
Client zu Client.Kommunikation mit geringstem Leistungsaufwand.
Von klanawagna im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 20.09.10, 09:25 -
VPN client(vl auch server-Client) programmieren[C#/Java]
Von Doomt im Forum Coders TalkAntworten: 5Letzter Beitrag: 18.02.10, 08:41 -
VPN Server - Netzwerk-Client kann nicht mit VPN-Client komunizieren
Von Redskin im Forum NetzwerkeAntworten: 4Letzter Beitrag: 08.11.09, 10:55 -
Was ist beste Lösung für Client To Client?
Von wSam im Forum JavaAntworten: 8Letzter Beitrag: 15.03.06, 20:15 -
Client Server verbindung.: Nachricht an einzelnen Client?
Von lukelukeluke im Forum JavaAntworten: 2Letzter Beitrag: 23.05.05, 22:30





Zitieren
Login





