如何设置共享文件夹的权限?
用NetShareAdd,会将“允许网络用户更改我的文件”勾上。如何设置为只读呢?
代码如下:
#include <lm.h>
#pragma comment(lib,"Netapi32.lib")
#include <Aclapi.h>
USES_CONVERSION;
SHARE_INFO_2 si2;
DWORD parm_err = 0;
memset(&si2,0,sizeof(SHARE_INFO_2));
si2.shi2_netname = _T("共享测试");
si2.shi2_max_uses = 4;
si2.shi2_path = _T("D:\\共享测试");
si2.shi2_permissions = ACCESS_READ;
//si2.shi2_permissions = ACCESS_NONE;
si2.shi2_remark = _T("这是个测试程序");
si2.shi2_type = 0;
if(NetShareAdd(NULL, 2, (LPBYTE)&si2, &parm_err)==NERR_Success)
//SetNetsharePermission( _T("D:\\共享测试"),NetShareReadOnly);
//
{
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);//刷新
}
else
{
AfxMessageBox(_T("error"));
}
[解决办法]
用windows安全策略。
[解决办法]
http://stackoverflow.com/questions/1301511/how-to-create-read-only-network-share-programmatically
[解决办法]
si2.shi2_permissions = ACCESS_READ; 这样不可以吗
[解决办法]
http://www.cnblogs.com/wdhust/archive/2008/08/05/1261535.html
http://www.cnblogs.com/wdhust/archive/2008/08/09/1264388.html
[解决办法]
超级复杂,不同的系统情况也不一样。
建议你别用共享文件夹了,需要什么功能,自己tcp实现较妥当。