可以实现,但是要先看一下TCP/IP的协议,特别是NetBIOS的,这个协议做在传输层以上,因此可以用Socket实现
解决方案 »
- 用什么方法可以取到windows系统补丁的详细描述,WMI可以吗
- 求mfc+ado+sql server 很小的程序,价格面议
- .zip和.rar文件关键字搜索!!
- 怎样搜索文件夹得到它下面所有文件的文件名????
- 谁可以帮帮忙啊,在对话框里面不响应ONKEYDOWN时,如果要处理按键消息,据说要写回调过程,,谁能提示一下是怎么一回事啊 [谁可以帮帮忙
- SQLite 读写数据
- 我想调用MAPILogon这个函数 头文件也加了 可是不知道该用那个LIB 文件!
- 给我一个最简单的COM的例子
- 高手请注意:View的问题?
- 怎样启动我的程序?
- 求教怎么画软件流程框图???
- 请教将wav文件存入Access的方法并用VC读取。现在直接在Access中存入都有困难,谢谢
void CShareDlg::EnumNetRes(NETRESOURCE *nr)
{
HANDLE hEnum;
//NetResource 为 NULL 的话表明要遍历局域网所有的资源
if(WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY,
RESOURCEUSAGE_CONTAINER|RESOURCEUSAGE_CONNECTABLE
,nr,&hEnum)!=NO_ERROR)
{
return;
}
//遍历所有的资源
DWORD Count=-1;
DWORD BufferSize=0;
DWORD ReturnVal=0;
//为 NetResource 数组分配空间
NETRESOURCE *NetRes=(NETRESOURCE*)new char[1024];
ZeroMemory(NetRes,sizeof(NETRESOURCE));
for(;;)
{
ReturnVal=WNetEnumResource(hEnum,&Count,NetRes,&BufferSize);
if(ReturnVal==ERROR_MORE_DATA) //由我们设置 NetRes 的大小
{
//但如果数据量超出了我们设置的大小
Count=-1;
delete[] NetRes;
NetRes=(NETRESOURCE*)new char[BufferSize];
ZeroMemory(NetRes,sizeof(NETRESOURCE));
ReturnVal=WNetEnumResource(hEnum,&Count,NetRes,&BufferSize);
}
if(ReturnVal!=NO_ERROR)break;
// 加到 ListBox
for (unsigned int i=0;i<Count;i++)
{
m_Enum.AddString(NetRes[i].lpRemoteName);
if((NetRes[i].dwUsage & RESOURCEUSAGE_CONTAINER)==RESOURCEUSAGE_CONTAINER)
EnumNetRes(&NetRes[i]);
}
if(ReturnVal==ERROR_NO_MORE_ITEMS)
{
//遍历完成
delete[] NetRes;
WNetCloseEnum(hEnum);
//RaiseLastWin32Error();
}
}
delete[] NetRes;
WNetCloseEnum(hEnum);}