局域网里 怎样才能设置其它机器上的驱动器为共享 100分 在线守候立刻加分 WNetAddConnection (....).MSDN. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我原来也做过这样的一个命令行工具。。在CSDN的共享软件中就用。叫做SetShare还是LetShare,记不太清了,呵呵。在98下是svrapi.dll,NT下是netapi32.dll,如果用Wnet开头的,就还要用一个MPR.dll。原理是这样的:1、枚举本地的信任关系,如果存在,将其删除,要用的函数是NetUseEnum,NetUseDel,然后用指定的用户名和密码建立一个新的信任关系,可以用NetUseAdd来实现,这些操作我就不写出来了。具体去看MSDN,有一些代码。当然,你也可以用对应的WNet开头的函数来做这一步,我这用NetApi这一套,主要是可以用一个DLL,不必去2、就用NetShareAdd来新增一个共享就行了。。这是MSDN中的一段代码.#define UNICODE#include <windows.h>#include <stdio.h>#include <lm.h>void wmain( int argc, TCHAR *argv[ ]){ NET_API_STATUS res; SHARE_INFO_2 p; DWORD parm_err = 0; if(argc<2) printf("Usage: NetShareAdd server\n"); else { // // Fill in the SHARE_INFO_2 structure. // p.shi2_netname = TEXT("TESTSHARE"); p.shi2_type = STYPE_DISKTREE; // disk drive p.shi2_re = TEXT("TESTSHARE to test NetShareAdd"); p.shi2_permissions = 0; p.shi2_max_uses = 4; p.shi2_current_uses = 0; p.shi2_path = TEXT("C:\\"); p.shi2_passwd = NULL; // no password // // Call the NetShareAdd function, // specifying level 2. // res=NetShareAdd(argv[1], 2, (LPBYTE) &p, &parm_err); // // If the call succeeds, inform the user. // if(res==0) printf("Share created.\n"); // Otherwise, print an error, // and identify the parameter in error. // else printf("Error: %u\tparmerr=%u\n", res, parm_err); } return;}上面所说的是对NT的机器开共享,98的就不一定了。98最简单的是远程改注册表。好了,该说得都说了。手都痛了。。呵呵 我原来也做过这样的一个命令行工具。。在CSDN的共享软件中就用。叫做SetShare还是LetShare,记不太清了,呵呵。原理是这样的:1、枚举本地的信任关系,如果存在,将其删除,要用的函数是NetUseEnum,NetUseDel,然后用指定的用户名和密码建立一个新的信任关系,可以用NetUseAdd来实现,这些操作我就不写出来了。具体去看MSDN,有一些代码。当然,你也可以用对应的WNet开头的函数来做这一步,我这用NetApi这一套,主要是可以用一个DLL,在98下是svrapi.dll,NT下是netapi32.dll,如果用Wnet开头的,就还要用一个MPR.dll。我K,打错了。更正一下 wsa_socket():那就是"黑客"的事了。呵呵,可以"引诱"一下对方嘛(当然这样很无耻,大家不要做这事啊。。) 我想问问别人的机器名windows是怎么得到的? 求助!我的多线程..... 急~,离奇的事,程序打开后什么事都没干按退出,报错~~ 疯了!江湖救急啊!!!VC++ MFC Dib.h问题 activex控件的接口方法的参数是一个自定义的结构体,请问如何传进来? _tcsclen与_tcslen的区别在哪儿? SDK画控件 接口下定义的方法,[out]型参数在编译时出错,怎么解决? 怎样在vc中使用嵌入式SQL 这样捕捉ado异常吗? Installshield 三问 谁能给一个关于计算器的算法。 ATL中的超大BUG还是我使用错误?
原理是这样的:
1、枚举本地的信任关系,如果存在,将其删除,要用的函数是NetUseEnum,NetUseDel,然后用指定的用户名和密码建立一个新的信任关系,可以用NetUseAdd来实现,这些操作我就不写出来了。具体去看MSDN,有一些代码。当然,你也可以用对应的WNet开头的函数来做这一步,我这用NetApi这一套,主要是可以用一个DLL,不必去
2、就用NetShareAdd来新增一个共享就行了。。
这是MSDN中的一段代码.
#define UNICODE
#include <windows.h>
#include <stdio.h>
#include <lm.h>void wmain( int argc, TCHAR *argv[ ])
{
NET_API_STATUS res;
SHARE_INFO_2 p;
DWORD parm_err = 0; if(argc<2)
printf("Usage: NetShareAdd server\n");
else
{
//
// Fill in the SHARE_INFO_2 structure.
//
p.shi2_netname = TEXT("TESTSHARE");
p.shi2_type = STYPE_DISKTREE; // disk drive
p.shi2_re = TEXT("TESTSHARE to test NetShareAdd");
p.shi2_permissions = 0;
p.shi2_max_uses = 4;
p.shi2_current_uses = 0;
p.shi2_path = TEXT("C:\\");
p.shi2_passwd = NULL; // no password
//
// Call the NetShareAdd function,
// specifying level 2.
//
res=NetShareAdd(argv[1], 2, (LPBYTE) &p, &parm_err);
//
// If the call succeeds, inform the user.
//
if(res==0)
printf("Share created.\n");
// Otherwise, print an error,
// and identify the parameter in error.
//
else
printf("Error: %u\tparmerr=%u\n", res, parm_err);
}
return;
}
上面所说的是对NT的机器开共享,98的就不一定了。98最简单的是远程改注册表。
好了,该说得都说了。手都痛了。。呵呵
1、枚举本地的信任关系,如果存在,将其删除,要用的函数是NetUseEnum,NetUseDel,然后用指定的用户名和密码建立一个新的信任关系,可以用NetUseAdd来实现,这些操作我就不写出来了。具体去看MSDN,有一些代码。当然,你也可以用对应的WNet开头的函数来做这一步,我这用NetApi这一套,主要是可以用一个DLL,在98下是svrapi.dll,NT下是netapi32.dll,如果用Wnet开头的,就还要用一个MPR.dll。
我K,打错了。更正一下