|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как получить функцию NumGet?
Есть задача определение IP и имя удаленного компьютера подключенного через терминальный доступ (RDB).
function WTSQuerySessionInformationA(hServer: THandle; SessionId: Integer; WTSInfoClass: Integer; var ppBuffer: Pointer; var pBytesReturned: DWORD ): BOOL; stdcall; external 'wtsapi32.dll' name 'WTSQuerySessionInformationA'; Код:
const WTSClientAddress=14 WTS_CURRENT_SESSION=-1 function Get_TerminalSesion :String; var BufSize: Cardinal; ppBuffer:Pointer; pBuf:PAnsiChar; pSessionId: DWORD; const WTS_CURRENT_SESSION=-1; WTS_CUR_SERVER_HANDLE =0; begin // WTS_CURRENT_SERVER_HANDLE:=0; // ProcessIdToSessionId(GetCurrentProcessId, pSessionId); // èëè pSessionId := DWORD(-1); if WTSQuerySessionInformationA(WTS_CUR_SERVER_HANDLE,WTS_CURRENT_SESSION,WTSClientAddress,ppBuffer, BufSize) then try // pBuf:=@ppBuffer; // (pBuf) ; // ShowMessage( pBuf); //NumGet(Pointer(pBuf),0,'u') ; // SetString(Result, ppBuffer^, BufSize); // (ppBuffer); finally WTSFreeMemory(ppBuffer); end; end; Последний раз редактировалось infopol, 07.10.2023 в 12:23. Причина: 1 |