近日在找答案中发现有西友问,能不能用变量来判断登录成功?大家都知道,wincc的内部变量只有一个用户名的@CurrentUser,而没有密码的变量。但是wincc自带的登录系统是可以实现用户、密码匹配的,不需要我们再去另做判断,如果没有用户登录,变量@CurrentUser是没有值的,我们可以利用这一点来完成这个功能。
首先,我们在“用户管理器”中创建两个用户user和user1,并设立密码;
然后,创建一个画面,有登录、注销、退出按钮,程序自己写比较简单,一个输入输出域关联变量@CurrentUser,
最后,写一个全局脚本,触发变量为@CurrentUser,编译,保存。
还有一步,要在计算机属性-启动-全局脚本运行-确定
运行系统,观察实验。
脚本程序部分如下:
#include "apdefap.h"
int gscAction( void )
{
#pragma code("useadmin.dll")
#include "PWRT_API.H"
#pragma code()
char* CUser = NULL;
CUser = GetTagChar("@CurrentUser");
if(strcmp(CUser,"user")==0) //Return-Type: long int
{
MessageBox(NULL,"USER登录成功!","恭喜",
MB_OK|MB_ICONEXCLAMATION|MB_SETFOREGROUND|MB_SYSTEMMODAL);
}
if ( strcmp(CUser,"user1")==0)
{
MessageBox(NULL,"USER1登录成功!","恭喜",
MB_OK|MB_ICONEXCLAMATION|MB_SETFOREGROUND|MB_SYSTEMMODAL);
}
return 0;
}