社区
Windows SDK/API
帖子详情
大家来帮我一下好吧,
catac
2003-10-14 01:34:15
大家谁知道netgroupenum的例子呀,给我一个好吗,还有,我想在c盘的安全里加入一个组并设置他对c盘的权限怎么实现呀。
...全文
67
8
打赏
收藏
大家来帮我一下好吧,
大家谁知道netgroupenum的例子呀,给我一个好吗,还有,我想在c盘的安全里加入一个组并设置他对c盘的权限怎么实现呀。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
catac
2003-10-17
打赏
举报
回复
哪位大哥来帮帮我呀,等米下锅呢,多多感谢多多感谢。
catac
2003-10-15
打赏
举报
回复
自已也来顶一下。
catac
2003-10-15
打赏
举报
回复
呀,没人看呀,又后面来了,我再顶
constantine
2003-10-14
打赏
举报
回复
ding
catac
2003-10-14
打赏
举报
回复
还有对用户的权限问题有没有人知道呀
pepsi1980
2003-10-14
打赏
举报
回复
没法帮你调试了,因为宝兰打电话到公司说我们用D版:(..BCB卸载了,找个例子给你
取局域网的域名和域用户计算机的函数,:)
typedef struct
{
unsigned dwScope;
unsigned dwType;
unsigned dwDisplayType;
unsigned dwUsage;
String LocalName;
String RemoteName;
String Comment;
String Provider;
}TDomain;
void check(DWORD res)
{
if (res)
throw Exception(SysErrorMessage(res));
}
void GetDomain(TStrings *List)
{
TList *DomainList = new TList;
List->BeginUpdate();
try
{
List->Clear();
unsigned long bufsize = 8192;
void *buffer = new BYTE[bufsize];
try
{
HANDLE lphEnum = NULL;
check(WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
RESOURCEUSAGE_CONTAINER, NULL, &lphEnum));
unsigned long Count = 0xFFFFFFFF;
int res = WNetEnumResource(lphEnum, &Count, buffer, &bufsize);
if (ERROR_NO_MORE_ITEMS == res) return;
check(res);
TNetResource *p = (TNetResource*)buffer;
for (unsigned i = 0; i < Count; ++i)
{
TDomain *domain = (TDomain*)new BYTE[sizeof(TDomain)];
domain->dwScope = p->dwScope;
domain->dwType = p->dwType;
domain->dwDisplayType = p->dwDisplayType;
domain->dwUsage = p->dwUsage;
domain->LocalName = p->lpLocalName;
domain->RemoteName = p->lpRemoteName;
domain->Comment = p->lpComment;
domain->Provider = p->lpProvider;
DomainList->Add(domain);
++p;
}
check(WNetCloseEnum(lphEnum));
for (int i = 0; i < DomainList->Count; ++i)
{
TNetResource *p = (TNetResource*)DomainList->Items[i];
check(WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
RESOURCEUSAGE_CONTAINER, p, &lphEnum));
for(;;)
{
Count = 0xFFFFFFFF;
res = WNetEnumResource(lphEnum, &Count, buffer, &bufsize);
if (ERROR_NO_MORE_ITEMS == res) break;
check(res);
TNetResource *Resource = (TNetResource*)buffer;
for (unsigned j = 0; j < Count; ++j)
{
List->Add(Resource->lpRemoteName);
++Resource;
}
}
check(WNetCloseEnum(lphEnum));
}
}
__finally
{
free(buffer);
}
}
__finally
{
List->EndUpdate();
for (int i = 0; i < DomainList->Count; ++i)
free(DomainList->Items[i]);
delete DomainList;
}
}
void GetDomainUser(const String domain, TStrings *List)
{
List->BeginUpdate();
try
{
List->Clear();
unsigned long bufsize = 8192;
void *buffer = new BYTE[bufsize];
try
{
HANDLE lphEnum;
TNetResource Resource;
memset(&Resource, 0, sizeof(Resource));
Resource.lpRemoteName = domain.c_str();
Resource.dwDisplayType = RESOURCEDISPLAYTYPE_SERVER;
Resource.dwUsage = RESOURCEUSAGE_CONTAINER;
Resource.dwScope = RESOURCETYPE_DISK;
check(WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
RESOURCEUSAGE_CONTAINER, &Resource, &lphEnum));
for (;;)
{
unsigned long Count = 0xFFFFFFFF;
int res = WNetEnumResource(lphEnum, &Count, buffer, &bufsize);
if (ERROR_NO_MORE_ITEMS == res) return;
check(res);
TNetResource *p = (TNetResource*)buffer;
for (unsigned i = 0; i < Count; ++i)
{
List->Add(p->lpRemoteName + 2);
++p;
}
}
check(WNetCloseEnum(lphEnum));
}
__finally
{
delete []buffer;
}
}
__finally
{
List->EndUpdate();
}
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
GetDomain(ListBox1->Items);
}
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
String domain = ListBox1->Items->Strings[ListBox1->ItemIndex];
GetDomainUser(domain, ListBox2->Items);
}
ljianq
2003-10-14
打赏
举报
回复
MSDN上去找。
catac
2003-10-14
打赏
举报
回复
我的这个函数有什么问题呀,为什么读不出来呀
void __fastcall TForm1::EnumGroup()
{
LPUSER_INFO_2 pBuf = NULL;
LPUSER_INFO_2 pTmpBuf;
DWORD dwLevel = 2;
DWORD dwPrefMaxLen=MAX_PREFERRED_LENGTH;
DWORD dwEntriesRead =0;
DWORD dwTotalEntries =0;
DWORD dwResumeHandle =0;
DWORD i;
DWORD dwTotalCount = 0;
NET_API_STATUS nStatus;
LPTSTR pszServerName = NULL;
String username ;
do
{
nStatus = NetGroupEnum(PWideChar(pszServerName), dwLevel,(LPBYTE*)&pBuf,dwPrefMaxLen,&dwEntriesRead,&dwTotalEntries,&dwResumeHandle);
if ((nStatus == NERR_Success) || (nStatus == ERROR_MORE_DATA))
{
if ((pTmpBuf = pBuf)!= NULL)
{
for (i = 0; (i < dwEntriesRead); i++)
{
// assert(pTmpBuf != NULL);//调试程序时常用的一个函数。
if (pTmpBuf == NULL) break;
username=WideCharToString(pTmpBuf->usri2_name) ;
userlist->Items->Add(username);
pTmpBuf++;
dwTotalCount++;
}
}
}
if (pBuf != NULL)
{
NetApiBufferFree(pBuf);
pBuf = NULL;
}
}
while (nStatus == ERROR_MORE_DATA); // end do
if (pBuf != NULL)
NetApiBufferFree(pBuf);
// return 0;
动手做个 AI 机器人,
帮
我回消息
大家好,我是鱼皮,自从做了知识分享,我的微信就没消停过,平均每天会收到几百个消息,大部分都是学编程的朋友向我咨询编程问题。 但毕竟我只有一个人,没法所有消息都一个个回复,所以也是很愧疚和无力吧;另外我发现,大家的很多问题是重复的,而且大多数我都专门写文章来回答过。 所以,我决定自制一个 AI 问答机器人,
帮
我自动回复大家的常见问题,减少重复工作。 结果没想到,制作过程中被 Bug 坑惨了,闹了不少笑话,感兴趣的朋友可以看看视频哈哈: 地址:https://www.bilibili.com/video/BV
程序员如何应对「给我弄个网站吧」的请求?
点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事编者按:昨天,我们在这篇《“你是程序员,
帮
我修个电脑吧” “不会,滚”》的文章中,发起了个投票。结果发现三个选项中,打败「修电脑」,位居榜首最令大家“抓狂”的选项,竟然是「我想要创业,你
帮
我建个网站吧,就像淘宝那样的,一定很好做吧」。一般,遇到此类情况,我们可以选择两种处理方式:第一种,直怼式。例如:“我给你1000块,你
帮
新型电话诈骗手法“明天到我办公室来
一下
”全揭秘
这种新诈骗手法取信受害者的重中之重在于,一上来直呼接电话者的真实姓名,让你明天来办公室
一下
,而且骗子的语气会尽量嚣张,利用普通人服从领导的心理,让人不自觉相信如此霸气的对方必然身居高位。如果反问来电者是谁,会回答:“我是你领导啊,你这都听不出来吗?” 如果详加追问是哪位领导,什么办公室,有什么事情等,对方便会以严厉的口气怒斥:“我是你领导,我亲自给你打电话,还有谁啊?”通常这种声色俱厉的口气会让接电
三个故事带你快速理解C、C++、C#的区别!
案例一: 任务:把大象放到冰箱里。 C: C语言是一个极其高冷的人,因此回答都是冷冷的: 我:你好C语言,我想把大象放到冰箱里,
帮
我做好不好? C:好 我:那我们要怎么做呢? C:猜 我:额。。。是不是应该先创造一只大象? C:是 我:怎么创造呢? C:猜 我只好去翻了
一下
文档,哦,malloc一块内存啊。 我:好的,我用malloc,申请一块空间放大象好...
双非一本大三在读学生,试图进入互联网大厂的过程记录
大家好,我呢是一名湖南的大三学生,前不久也是遇见了自己人生道路上的选择点,让我改变了一些想法。 将自己的经历记录下来,不定期在这边发发牢骚,汇报
一下
当前学习进度与目标吧,也算是补全
一下
资料。之后和我相同情况的同学,可以借鉴
一下
我成功或者失败的结果,去做一些选择或改进吧。 有大佬看到了我的文章的话,大发慈悲
帮
我
一下
吧,推一个实习名额吧,会让孩子给您在家立牌供着。
Windows SDK/API
1,222
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章