怎样才能获得本地网上的用户名,组,或计算机名。

luoqing 2002-07-18 05:01:02
怎样才能获得本地网上的用户名,组,或计算机名。
...全文
117 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
junwhj 2002-07-19
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/784/784649.xml?temp=.3798334
Laney 2002-07-19
  • 打赏
  • 举报
回复
用winsock对象,
winsock1.localhostname获得用户计算机名
winsock1.localip获得本机ip
hudawq 2002-07-19
  • 打赏
  • 举报
回复
用WshNetwork.username 和WshNetwork.ComputerName,wsh.UserDomain也可以完成,其中WshNetwork是Window script host 运行库中的类
FUXINZHU 2002-07-19
  • 打赏
  • 举报
回复
用API GETUSER函数取得用户名
GETCOMPUTERNAME函数取得计算机名
螺丝刀2000 2002-07-19
  • 打赏
  • 举报
回复
Up
mfkzj 2002-07-19
  • 打赏
  • 举报
回复
WNetOpenEnum
WNetEnumResource
下面式一段VC代码 你用API改一下就OK了
HANDLE hEnum = 0;
DWORD dwScope = RESOURCE_GLOBALNET ;
if( dwFlags_p & CONNECTED ) dwScope = RESOURCE_CONNECTED ;
else if( dwFlags_p & REMEMBERED ) dwScope = RESOURCE_REMEMBERED ;
// else GLOBALNET ...

DWORD dwType = RESOURCETYPE_ANY ;
if( dwFlags_p & TYPE_DISK ) dwType = RESOURCETYPE_DISK ;
else if( dwFlags_p & TYPE_PRINT ) dwType = RESOURCETYPE_PRINT ;
// else TYPE_ANY ...

DWORD dwResult = WNetOpenEnum(
dwScope, // scope of enumeration
dwType, // resource types to list
0, // enumerate all resources
lpNetRC_p, // pointer to resource structure (NULL at first time)
&hEnum // handle to resource
) ;

if( dwResult != NO_ERROR )
return NetError(dwResult, TEXT("WNetOpenEnum"));

DWORD dwBuffer = 16384 ; // 16K is reasonable size
DWORD dwEntries = 0xFFFFFFFF ; // enumerate all possible entries
LPNETRESOURCE lpnrLocal = 0;

BOOL bRet = TRUE;

try {
do {
// first allocate buffer for NETRESOURCE structures ...
lpnrLocal = (LPNETRESOURCE) GlobalAlloc( GPTR, dwBuffer ) ;

dwResult = WNetEnumResource(
hEnum, // resource-handle
&dwEntries,
lpnrLocal,
&dwBuffer
) ;

if( dwResult == NO_ERROR ) {
for( register DWORD i = 0 ; i < dwEntries ; i++ ) {
::AfxMessageBox(lpnrLocal[i].lpRemoteName);
if( ! OnHitResource( lpnrLocal[i] ) ) {
TRACE0("CNetwork::Enumerate(): OnHitResource() breaks enumeration\n");
throw CNetworkBreak(FALSE) ;
}
//判断读出来的数据是否是网络上的网络组
//如果是网络组的话就将该网络组的信息为标准循环查询
if( RESOURCEUSAGE_CONTAINER ==
(lpnrLocal[i].dwUsage & RESOURCEUSAGE_CONTAINER) &&
lpnrLocal[i].dwDisplayType != RESOURCEDISPLAYTYPE_SERVER )
if( !Enumerate( &lpnrLocal[i], dwFlags_p ) ) {
TRACE0( "CNetwork::Enumerate(): recursiv call failed\n" );
throw CNetworkBreak(FALSE);
}

}
} else if( dwResult != ERROR_NO_MORE_ITEMS ) {
throw CNetworkError(NetError(dwResult, TEXT("WNetEnumResource")));
}
} while( dwResult != ERROR_NO_MORE_ITEMS );
} catch( CNetworkError err ) {
bRet = err.m_bRet;
}

if( lpnrLocal )
GlobalFree((HGLOBAL) lpnrLocal) ;

WNetCloseEnum(hEnum) ;

return bRet;
}

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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