社区
网络通信/分布式开发
帖子详情
如何获取远程计算机的用户列表?
littlebird82
2003-04-25 04:51:55
如题。
...全文
77
3
打赏
收藏
如何获取远程计算机的用户列表?
如题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hjb8000
2003-04-28
打赏
举报
回复
c++buider的:
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
AnsiString gethostip(AnsiString &host)
{
WSADATA wsaData;
AnsiString IP;
char temp[255];
strcpy(temp,host.c_str());
int pos=0;
while(temp[pos++]=='\\');
pos--;
// temp+=i-1;
WSAStartup(MAKEWORD(2,0),&wsaData);
if(host.IsEmpty())
{
char hostname[128];
if(gethostname(hostname,128)!=0)
return AnsiString("");
host=hostname;
}
try
{
struct hostent *hp=gethostbyname(temp+pos);//host.c_str());
if(hp == NULL)
{
IP="";
}
else
{
IP=inet_ntoa(*(struct in_addr*)hp-> h_addr_list[0]);
}
}
catch(...)
{
IP="";
}
WSACleanup();
return IP;
}
//---------------------------------------------------------------------------
bool EnumNetResource(LPNETRESOURCE lpNR,DWORD dwScope,DWORD dwType)
{
HANDLE hEnum = 0;
DWORD dwResult = WNetOpenEnum(
dwScope, // scope of enumeration
dwType, // resource types to list
0, // enumerate all resources
lpNR, // pointer to resource structure (NULL at first time)
&hEnum // handle to resource
);
if(dwResult != NO_ERROR) return false;
bool bRet=true;
DWORD dwEntries = 0xFFFFFFFF; // enumerate all possible entries
NETRESOURCE NR[1024];
DWORD dwBuffer=1024*sizeof(NETRESOURCE);
while(1)
{
dwResult = WNetEnumResource(hEnum, // resource-handle
&dwEntries,
(LPVOID)NR,
&dwBuffer
);
if(dwResult == ERROR_NO_MORE_ITEMS)
{
break;
}
else
{
if(dwResult != NO_ERROR)
{
bRet=false;
break;
}
}
for(DWORD i=0;i<dwEntries;i++)
{
//ShowMessage("OK");
if(NR[i].dwDisplayType==RESOURCEDISPLAYTYPE_SERVER)
{
char *p=NR[i].lpRemoteName;
while(*p=='\\') p++;
if(*p)
{
AnsiString IP = gethostip(p);
// TListItem *Item1;
// Item1 = Form1->ListView1->Items->Add();
// Item1->Caption = p;
// Item1->SubItems->Add(IP);
Form1->ListBox1->Items->Add(IP+"==="+p);
}
}
else
{
if((NR[i].dwUsage& RESOURCEUSAGE_CONTAINER)==RESOURCEUSAGE_CONTAINER)
{
bRet=EnumNetResource(&NR[i],dwScope,dwType);
if(bRet==false) break;
}
}
}
if(bRet==false) break;
}
WNetCloseEnum(hEnum) ;
return bRet;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ListView1->Clear();
Screen->Cursor=crHourGlass;
EnumNetResource(NULL,RESOURCE_GLOBALNET,RESOURCETYPE_ANY);
Screen->Cursor=crDefault;
}
//---------------------------------------------------------------------------
littlebird82
2003-04-28
打赏
举报
回复
每人回答吗?
littlebird82
2003-04-27
打赏
举报
回复
没有人回答吗?
Visual C#中用WMI
获取
远程
计算机
信息
如果不使用WMI,想要
获取
远程
计算机
的系统数据,最常用的方法就是在
远程
计算机
上运行一个客户端程序,本地机通过和这个客户端程序来
获取
远程
计算机
的系统数据。这种实现方法无论是程序设计还是后面的程序分发都是...
如何
获取
远程
计算机
的时间
作者: Edengundam(马涛)获得本地
计算机
时间很容易, 使用cmdlet: Get-Date即可.PS C:> Get-Date2007年9月25日 10:44:12但是, 如果您想获得
远程
计算上的时间恐怕就没有这么容易了. 幸亏PowerShell无缝集成了WMI, ...
java
获取
客户端硬件信息_java如何
获取
远程
计算机
的系统信息,cpu使用情况,磁盘使用情况等等...
展开全部1、在
远程
server里搭建一个http服务e69da5e6ba903231313335323631343130323136353331333337396165,并支持某种服务端...
远程
请求服务端写好的程序,得到结果,并展示给
用户
提取硬盘序列号function disk() {/...
为什么
远程
计算机
没反应,谁能解释下
远程
计算机
无反应是怎么个意思?
远程
计算机
无响应,意思是从
计算机
发出指令到网卡向外发送数据,包括电话线的传输,局端(电信局机房端)端子板的端口处理到返回数据到
计算机
的过程中数据传输出问题都会提示678错误。简单地说就是网络不通了。第一种...
您的
远程
桌面会话已结束。另一
用户
已连接到此
远程
计算机
,因此您的连接已丢失。(转)
另一
用户
已连接到此
远程
计算机
,因此您的连接已丢失 您的
远程
桌面会话已结束。另一
用户
已连接到此
远程
计算机
,因此您的连接已丢失。……《转的》 服务器修改了3389端口后,重启,当我登陆...
网络通信/分布式开发
1,593
社区成员
32,964
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章