ACESSO REMOTO
BOA NOITE, ALGUEM PODE ME AJUDAR, TEM COMO CAPTURAR O NUMERO DA SEÇÃO DO ACESSO REMOTO?
EU SEI QUE PODE CAPTURAR O NOME DO USUARIO, MAS QUERO CAPTURAR O NUMERO DA SEÇÃO(ID), ALGUEM PODE ME AJUDAR?
EU SEI QUE PODE CAPTURAR O NOME DO USUARIO, MAS QUERO CAPTURAR O NUMERO DA SEÇÃO(ID), ALGUEM PODE ME AJUDAR?
O código a seguir pode ser usado para retornar o ID de uma seção do Terminal Service e também detectar se o TS está em execução na máquina.
Em um módulo:
A função (que também pode estar no módulo):
Em um módulo:
Private Declare Function WTSEnumerateProcesses Lib [Ô]wtsapi32.dll[Ô] Alias [Ô]WTSEnumerateProcessesA[Ô] (ByVal hServer As Long, ByVal Reserved As Long, ByVal Version As Long, ByRef ppProcessInfo As Long, ByRef pCount As Long) As Long
Private Declare Sub WTSFreeMemory Lib [Ô]wtsapi32.dll[Ô] (ByVal pMemory As Long)
Private Declare Sub CopyMemory Lib [Ô]Kernel32[Ô] Alias [Ô]RtlMoveMemory[Ô] (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function GetCurrentProcessId Lib [Ô]Kernel32[Ô] () As Long
Private Type WTS_PROCESS_INFO
SessionID As Long
ProcessId As Long
pProcessName As Long
pUserSid As Long
End Type
A função (que também pode estar no módulo):
Function TerminalServerSessionId() As String
Dim lRetVal As Long, lCount As Long, lThisProcess As Long, lThisProcessId As Long
Dim lpBuffer As Long, lp As Long, udtProcessInfo As WTS_PROCESS_INFO
Const WTS_CURRENT_SERVER_HANDLE = 0&
On Error GoTo ErrNotTerminalServer
[ô]Definir valor padrão
TerminalServerSessionId = [Ô]0[Ô]
lThisProcessId = GetCurrentProcessId
lRetVal = WTSEnumerateProcesses(WTS_CURRENT_SERVER_HANDLE, 0&, 1, lpBuffer, lCount)
If lRetVal Then
[ô]Successful
lp = lpBuffer
For lThisProcess = 1 To lCount
CopyMemory udtProcessInfo, ByVal lp, LenB(udtProcessInfo)
If lThisProcessId = udtProcessInfo.ProcessId Then
TerminalServerSessionId = CStr(udtProcessInfo.SessionID)
Exit For
End If
lp = lp + LenB(udtProcessInfo)
Next
WTSFreeMemory lpBuffer
End If
Exit Function
ErrNotTerminalServer:
[ô]A máquina não é um Terminal Service
On Error GoTo 0
End Function
Tópico encerrado , respostas não são mais permitidas