| 作者 | 主题 |
|---|---|
|
万回 游士 经验值:196 发帖数:11 精华帖:1 |
楼主
主题:枚举组态的所有用户名、用户组-回调函数实现
看到一篇枚举所有用户的代码。感觉比较繁琐。找了个比较简单清晰的方法如下:
相关函数代码: #pragma code("USEGEN.DLL") #include "usegenap.h" #pragma code() CMN_ERROR err; DM_PROJECT_INFO ProjectInfo; DWORD dwCount = 0; PVOID userdata=0; PWGEN_USERINFO lpUserInfo; BOOL CALLBACK enum_user(LPWGEN_USERINFO lpUserInfo, PVOID lpUser); memset(&ProjectInfo, 0, sizeof(DM_PROJECT_INFO)); DMGetProjectInformation("***", &ProjectInfo, &err); \\"***"为wincc项目路径。 PWGENConnect(ProjectInfo.szDSNName, &err); PWGENEnumUsers (&dwCount, enum_user, &userdata, &err); PWGENDisconnect(&err); ******************************************************************* 回调函数: #include "apdefap.h" #include "usegenap.h" BOOL enum_user(LPTSTR lpUserInfo, PVOID lpUser) { PWGEN_USERINFO * pCls; pCls = (LPWGEN_USERINFO*)lpUserInfo; printf("Group: %s\r\n", pCls->group); printf("User: %s\r\n", pCls->login); return TRUE; } ———————————————————————————————— 测试结果; Group: 管理员组 User: 管理员 Group: 管理员组 User: ldh Group: 管理员组 User: wlq Group: user User: zzj Group: user User: www |