/*-----------遍历工作组内所有共享主机-------------*/
#include <lm.h>
#pragma comment(lib, "Netapi32.lib")
void CSSSDlg::EnumServer()
{LPSERVER_INFO_100 pServerEnum;
DWORD dwResult, dwRead, dwTotal;
dwResult = ::NetServerEnum( NULL, 100,
(BYTE**) &pServerEnum,
-1, &dwRead, &dwTotal,
SV_TYPE_ALL, NULL, 0 );
if ( dwResult == NERR_Success ){
for ( DWORD i=0; i<dwRead; i++ )
m_wndListBox.AddString( CString( (LPCWSTR) pServerEnum[ i ].sv100_name
) );
}
}
共享C盘:
#include <lm.h>
#pragma comment(lib, "Netapi32.lib")
{
SHARE_INFO_2 p;
DWORD parm_err = 0;
p.shi2_netname = (char*)L"TESTSHARE"; /////////..... 参数要Unicode
p.shi2_type = STYPE_DISKTREE; // disk drive
p.shi2_remark = (char*)L"TESTSHARE to test NetShareAdd";
p.shi2_permissions = 0;
p.shi2_max_uses = 4;
p.shi2_current_uses = 0;
p.shi2_path = (char*)L"c://";
p.shi2_passwd = NULL; // no password
res=NetShareAdd(0, 2, (LPBYTE) &p, &parm_err);
if(res==0)
{
//"Share created./n");
::AfxMessageBox("YES");
}
else
{
::AfxMessageBox("NO");
return;
}
连接远程计算机:
#pragma comment(lib,"mpr.lib")
DWORD dwRst = ERROR_ACCESS_DENIED;
{
//连接服务器
NETRESOURCE ntResource;
ntResource.dwType = RESOURCETYPE_ANY;
ntResource.lpRemoteName ="////game//updata";
ntResource.lpLocalName = NULL;
ntResource.lpProvider = NULL;
dwRst = ::WNetAddConnection2(&ntResource,"qz","qz",FALSE);
if (dwRst==NO_ERROR)
{
MessageBox("本机与服务器的连续已经成功!","提示");}
}