社区
网络通信/分布式开发
帖子详情
如何获取远程计算机的用户列表?
littlebird82
2003-04-25 04:51:55
如题。
...全文
82
3
打赏
收藏
如何获取远程计算机的用户列表?
如题。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
没有人回答吗?
taskmgr.exe下载
好不容易找到的,如果任务管理器打不开就用这个吧,解压后把taskkill.exe、tasklist.exe及taskmgr.exe三个文件复制到C:\WINDOWS\system32就可以了
Visual C#中用WMI
获取
远程
计算机
信息
如果不使用WMI,想要
获取
远程
计算机
的系统数据,最常用的方法就是在
远程
计算机
上运行一个客户端程序,本地机通过和这个客户端程序来
获取
远程
计算机
的系统数据。这种实现方法无论是程序设计还是后面的程序分发都是及其困难的。而使用WMI,一切就显得非常简单。下面介绍的这个示例,其功能是利用WMI
获取
远程
计算机
硬盘数据。各位只需对这个程序稍加修改,就可以获得
远程
计算机
的其他数据。下面是具体的实现步骤:
远程
查看
计算机
用户
,查询
远程
或本地
计算机
的登录账户
用下面这个函数能
获取
远程
或本地电脑的当前登录
用户
,同时附加了它的
计算机
名,所以当你查询多台电脑时将知道结果从哪里来。function Get-LoggedOnUser{param([String[]]$ComputerName = $env:COMPUTERNAME)$ComputerName | ForEach-Object {(quser /SERVER:$_) -replace '\s{2,...
如何
获取
远程
计算机
的时间
作者: Edengundam(马涛)获得本地
计算机
时间很容易, 使用cmdlet: Get-Date即可.PS C:> Get-Date2007年9月25日 10:44:12但是, 如果您想获得
远程
计算上的时间恐怕就没有这么容易了. 幸亏PowerShell无缝集成了WMI, 因此, 我们可以通过WMI来进行尝试.注意到WMI中的类win32_localtime可以获得
计算机
上
java
获取
客户端硬件信息_java如何
获取
远程
计算机
的系统信息,cpu使用情况,磁盘使用情况等等...
展开全部1、在
远程
server里搭建一个http服务e69da5e6ba903231313335323631343130323136353331333337396165,并支持某种服务端语言(如.net或php之类)2、用服务端语言
获取
到服务器的磁盘信息,把结果输出3、在本地用JS写一段AJAX脚本,
远程
请求服务端写好的程序,得到结果,并展示给
用户
提取硬盘序列号function disk() {/...
网络通信/分布式开发
1,594
社区成员
32,958
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章