wincc加密问题?

怎样做个加密程序运行两个月后使整个wincc操作界面不能使用,要自己输入正确的密码解锁后才能使用,请问这个该怎么做?

问题补充:
怎样在脚本中设置登录密码和日期呢?通过什么判断它的有效期?第一次接触西门子的软件不是很懂,还望大家多多帮忙

最佳答案

楼主在脚本中独立的做很容易就被破坏掉了,除非你的wincc项目中的动态效果都用脚本做,然后在脚本中插入加密程序段,这样使得用户不容易发现。具体做法:
点击登陆按钮,弹出登陆对话框,登陆成功则跳转到指定界面,否则继续登陆 
1.用两个按钮,实现一个按钮切换的效果。可以定义一个变量 logined,当 logined 为 1时显示
“进入系统”按钮,为 0时显示“登陆”按钮。具体用“对象属性”-》其它-》显示-》动态
对话框-》布尔型来做。 
2.定义一个全局动作,根据@current_usr的值来为 logined 赋值 
登陆按钮: 
#pragma code ("useadmin.dll") 
#include "PWRT_api.h" 
#pragma code() 
char * value;     
value=GetTagChar("@CurrentUser
if(strcmp(value,"")==0){ 
     PWRTLogin(1);   
  }else{ 

进入系统按钮: 
#pragma code ("useadmin.dll") 
#include "PWRT_api.h" 
#pragma code() 
char * value;     
value=GetTagChar("@CurrentUser
if(strcmp(value,"")==0){ 
     PWRTLogin(1);   
      }
else{ 
#define PIC_0 "main_half.Pdl" 
OpenPicture(PIC_0); 
全局脚本:250ms触发一次     
  char* value;     
  value=GetTagChar("@CurrentU
  if(strcmp(value,"")==1){ 
       SetTagBit("logined",1); 
  }else{ 
       SetTagBit("logined",0); 

以上三个功能是登录系统用的。你可以在其它的全局脚本里记录系统时间,当指定时间到达在程序将@CurrentU改变这样用户输入的信息就总是不对称,无法正常登录系统。

提问者对于答案的评价:
谢谢了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc267196.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午5:06
下一篇 2019年6月11日 上午5:06

相关推荐