程序部署在一台XP虚拟机中,通过Windows终端连接到这台XP虚拟机使用,现在程序需要知道是从哪个IP连接到这台虚拟机的,请各位高手帮忙。

kingbenz 2010-02-19 12:16:56
程序部署在一台XP虚拟机中,通过Windows终端连接到这台XP虚拟机使用,现在程序需要知道是从哪个IP连接到这台虚拟机的,请各位高手帮忙。
...全文
104 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingbenz 2010-02-19
  • 打赏
  • 举报
回复
问题解决:
function GetClientIP: String;
var
i: DWORD;
buf: PWTSClientAddress;
j: integer;
str: string;
begin
if WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, WTS_CURRENT_SESSION, WTSClientAddress, pointer(buf), i) then
if buf.AddressFamily <> AF_UNSPEC then
begin
for j := 2 to 5 do
str := str + IntToStr(buf.AddRess[j]) + '.';
Result := Copy(str, 1, Length(str) - 1);
end
else
Result := '127.0.0.1';
end;
bcrun 2010-02-19
  • 打赏
  • 举报
回复
不清楚系统是否事有直接查询这些信息的API,不过如实在不行的话,编程找到正在运行的
C:\WINDOWS\System32\svchost.exe -k termsvcs
服务,然后查询连接到它的ms-wbt-server协议的TCP端口(端口号好像是3389),看有哪些IP就可以了吧

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧