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

kingbenz 2010-02-19 12:16:56
程序部署在一台XP虚拟机中,通过Windows终端连接到这台XP虚拟机使用,现在程序需要知道是从哪个IP连接到这台虚拟机的,请各位高手帮忙。
...全文
89 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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就可以了吧
相关推荐
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2010-02-19 12:16
社区公告
暂无公告