zoukankan      html  css  js  c++  java
  • Wincc点击按钮弹出输入账号密码窗口,密码正确直接跳转到某个画面的实现方案

    问题详情 

    •   想在Wincc中实现以下功能:点击按钮弹出登录对话框,如果账户密码正确就直接跳转到某个页面。

    实现过程

    •    新建一个Wincc项目,创建一个用户user1,设定好密码。新建两个页面NewPdl0和NewPdl1。在Newpdl0上新建一个按钮,按钮的鼠标点击事件添加以下C脚本。
    #include "apdefap.h"
    void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
    {
    #pragma option(mbcs)
    #pragma code("Kernel32.dll")
    void Sleep(int Milliseconds);
    #pragma code("UseAdmin")
    #include "pwrt_api.h"
    
    #define PIC_0 "NewPdl1.pdl" //改成要跳转的页面
    char *username=GetTagChar("@CurrentUser");
    DWORD hProcId;
    HWND gWnd;
    PWRTLogin(1);
    Sleep(500);
    gWnd =FindWindowA(NULL, "系统登录" );
    while(gWnd)
       gWnd =FindWindowA(NULL, "系统登录" );
    if (strcmp(username,"user1")==0)//user1改成自己的用户名
      OpenPicture(PIC_0);
    }

       这个脚本中PWRTLogin(1)作用是弹出登录对话框,这是一个非模态对话框,也就是说这个对话框弹出来后,不管用户操不操作怎么操作,后面语句都会接着执行。

         后面紧跟了一个Sleep语句,这是一个暂停的语句,如果没有这一句gWnd =FindWindowA(NULL, "系统登录" )得到的gWnd就是假了,因为执行非常快,在登录对话框出来之前,语句就过去了。这点卡住了我一段时间。后面的while循环纯粹是为了等到用户输入完毕关闭对话框。最后通过strcmp函数比较两个字符串来判断是不是登录成功了,如果成功就直接跳转。

    待优化问题

    • 如果当前已经是user1账户了,就不需要登陆直接跳转到NewPdl1,现在可以实现直接跳转但是还是会出现登录框。(已解决)
    #include "apdefap.h"
    void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
    {
    #pragma option(mbcs)
    #pragma code("Kernel32.dll")
    void Sleep(int Milliseconds);
    #pragma code("UseAdmin")
    #include "pwrt_api.h"
    
    #define PIC_0 "NewPdl1.pdl" //改成要跳转的页面
    char *username=GetTagChar("@CurrentUser");
    DWORD hProcId;
    HWND gWnd;
    if (strcmp(username,"user1")==0)//user1改成自己的用户名
      OpenPicture(PIC_0);
    else
    PWRTLogin(1);
    Sleep(500);
    gWnd =FindWindowA(NULL, "系统登录" );
    while(gWnd)
       gWnd =FindWindowA(NULL, "系统登录" );
    }
    • 登录窗口的文字不知道在哪修改,知道的大神麻烦留言告知。
  • 相关阅读:
    JavaScript 正则表达式
    android源代码提示文本框还能输入多少个字符
    js实现鼠标点击input框后里面的内容就消失代码
    使用prompt输入一句英文句子和排序方式(升/降),将所有单词按排序方式排序后在网页上输出
    Javascript输出表格
    flutter 按键监听
    3.声明
    2.基础类型
    1.安装TypeScrpit
    苹果app证书
  • 原文地址:https://www.cnblogs.com/amosi/p/13756081.html
Copyright © 2011-2022 走看看