请问在win2000中,应用程序如何以不同的用户身份访问其他机器

malingfeng 2004-07-13 09:20:55
就是说用普通用户访问该机器的共享资源,但想用另一用户控制其服务,该怎么做
...全文
104 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
名牌大灰狼 2004-07-17
  • 打赏
  • 举报
回复
COPY http://www.vckbase.com/document/viewdoc.asp?id=662
PiggyXP 2004-07-17
  • 打赏
  • 举报
回复
官方解释是这样的:

Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again.

就是说同一个用户多次连接,意思也就是说上次的你的连接没有断开啊

我想就是应该先用WNetCancelConnection2 切断当前连接,要不试试WNetCancelConnection??^_^
malingfeng 2004-07-15
  • 打赏
  • 举报
回复
我先试试用IPC
malingfeng 2004-07-15
  • 打赏
  • 举报
回复
谢谢。
我也通过这种方式实现了连接。
但有另外一个问题没弄清楚,就是访问另一台机器的时候是不是同时只能使用一个用户。
现在有一个问题是这样的,我的系统是win2000 advanced server,访问另一台机器时系统不会提示输入密码,默认用user(普通用户)的身份连接。但如果我想控制其上的SQL Server服务就因为没有权限而不能进行了。
需要解决的问题是:在当前windows已建立默认连接的情况下,怎样断开连接。也就是说在网上邻居中先访问过一次后,就不能断开连接了。请问该如何解决。
malingfeng 2004-07-15
  • 打赏
  • 举报
回复
因为不知道windows连接的时候是怎样连接的,比如说当通过SQL企业管理器连接其它机器时,不知道采用哪种方式,连接到什么位置,因此无法提供准确的名称
malingfeng 2004-07-15
  • 打赏
  • 举报
回复
我用WNetCancelConnection2断开连接时,提示未连接。用WNetAddConnection2建立连接时,提示
1219错误(ERROR_SESSION_CREDENTIAL_CONFLICT).请问该如何解决
PiggyXP 2004-07-15
  • 打赏
  • 举报
回复
在当前windows已建立默认连接的情况下,怎样断开连接。也就是说在网上邻居中先访问过一次后,就不能断开连接了

=========================================================================

我想这样的情况就是系统记住了访问密码,你可以试试看用WNetCancelConnection2来切

换其他的帐户来登录
PiggyXP 2004-07-13
  • 打赏
  • 举报
回复
没大看明白...-_-b

不知道这个是不是楼主想要的?

#define MOVPATH "//192.168.0.177"
#define RMPATH "//192.168.0.178"
#define USER "root"
#define PWD "123456"

NETRESOURCE ns;
memset( &ns,0, sizeof( ns ) );
ns.dwType = RESOURCETYPE_ANY;
ns.lpLocalName = "Z:";
ns.lpRemoteName=(char*)(LPCTSTR)MOVPATH;
WNetAddConnection2(&ns,(LPCTSTR)PWD,(LPCTSTR)USER,CONNECT_UPDATE_PROFILE );
aiirii 2004-07-13
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/viewdoc.asp?id=662

int wmain(int argc,TCHAR *argv[])
{
NETRESOURCE nr;
DWORD ret;
TCHAR username[100]=_T("");
TCHAR password[100]=_T("");
TCHAR ipc[100]=_T("");

system("cls.exe");
start();
if(argc!=2)
{
usage();
return -1;
}
swprintf(ipc,_T("\\\\%s\\ipc$"),argv[1]);
nr.lpLocalName=NULL;
nr.lpProvider=NULL;
nr.dwType=RESOURCETYPE_ANY;
nr.lpRemoteName=ipc;
ret=WNetAddConnection2(&nr,username,password,0);
if(ret!=ERROR_SUCCESS)
{
_tprintf(_T("\nIPC$ Connect Failed.\n"));
return -1;
}

datetime(argv[1]);
fingerprint(argv[1]);
netbios(argv[1]);
users(argv[1]);
localgroup(argv[1]);
globalgroup(argv[1]);
transport(argv[1]);
session(argv[1]);

ret=WNetCancelConnection2(ipc,0,TRUE);
if(ret!=ERROR_SUCCESS)
{
_tprintf(_T("IPC$ Disconnect Failed.\n"));
return -1;
}
return 0;
}
aiirii 2004-07-13
  • 打赏
  • 举报
回复

WNetAddConnection2
WNetCancelConnection来切换登录用户

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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