1、最简单的就是给退出按钮设定一个权限号,比如99,该权限号需在用户管理器中预先设置好,并将该权限分配给特定的用户。
此方法无需编程,点击按钮时如用户无99号权限,则弹出无权操作对话框。当然因为简单所以无法满足楼主的弹出输入用户名和密码的对话框,用户需要通过热键或登陆按钮进行登陆,只有拥有99号权限的用户登陆后方可退出。
2、如果需要点击按钮时如果没有权限则弹出登陆对话框,可将退出按钮脚本改为如下:
//注:99号权限需在用户管理器中预先设置号并分配给特定用户
//不要给退出按钮分配权限,由脚本来负责检测权限。
//如果想弹出登陆对话框,登陆正确后自动退出WinCC则不能使用PWRTLogin('c');对话框,需要自己制作登陆画面,并使用PWRTSilentLogin进行后台登陆。
#pragma code("useadmin.dll")
#include "PWRT_api.h"
#pragma code("")
#define EXIT_PERMISSION 99
int iAnswer=0;
if (PWRTCheckPermission(EXIT_PERMISSION,TRUE))
{
ExitWinCC();
}
else
{
iAnswer = MessageBox(NULL,"对不起,您没有权限退出WinCC,是否重新登陆?","错误",MB_YESNO | MB_SETFOREGROUND|MB_SYSTEMMODAL );
if (iAnswer ==IDYES) PWRTLogin('c');
}
------------------------
将脚本放在退出WinCC按钮的鼠标事件中。
回答者:
dcount107
-
顶级工程师  第12级
2008-11-23 10:37:19
以下网友赞了您的问题:
填写您的评论...
提问者对于答案的评价:
谢谢!
暂无评论