1.用户注销:
#pragma code ("useadmin.dll") #include "PWRT_api.h" #pragma code() PWRTLogout(); 2.用户登录:
#pragma code ("useadmin.dll") #include "PWRT_api.h" #pragma code() PWRTLogin('c'); 3.关闭项目并退出WINCC:
ExitWinCC (); 4.退出运行到wincc资源管理器:
DeactivateRTProject (); 5.结束监控并关闭计算机(会弹出确认对话框)
HWND hWnd = NULL;//Author:Smartsys int iRet; hWnd = FindWindow(NULL,"WinCC-运行系统 - "); iRet=MessageBox(hWnd,"结束监控并关闭计算机", "关闭操作站",MB_YESNO|MB_ICONWARNING|MB_APPLMODAL); if(iRet==IDYES) DMExitWinCCEx (DM_SDMODE_POWEROFF); 6.点击事件弹出对话框,通过点击弹出对话框的确定和取消按钮实现对变量的置位或取消:
int r; r=MessageBox(NULL, "YES为开,NO为关", "确定开命令:", MB_YESNO |MB_SYSTEMMODAL); if (r==IDYES) SetTagBit("TAGNAME",TRUE); else SetTagBit("TAGNAME",FALSE); 7.开显示关显示:(要在内部变量中建立三个二进制变量COLSE_DISPLAY、DISPLAY_NO和DISPLAY_COMMENT)
// Funktion: Bit in Doppelwort setzen; if (GetTagBitWait("COLSE_DISPLAY")==1 ) {SetTagBit("COLSE_DISPLAY",0); SetTagBit("DISPLAY_NO",0); //Return-Type: BOOL SetTagBit("DISPLAY_COMMENT",0); } else {SetTagBit("COLSE_DISPLAY",1); SetTagBit("DISPLAY_NO",1); //Return-Type: BOOL SetTagBit("DISPLAY_COMMENT",0); } 8.开阀确认:
BOOL a; a=GetTagBit("30T制水启动"); //Return-Type :short int if (a==0) { if(MessageBox(NULL,"真的要启动制水吗?","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL) == 6) { SetTagBit("30T制水启动",1); //Return-Type :BOOL } } else {if(MessageBox(NULL,"真的要停止制水吗?","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL) == 6) { SetTagBit("30T制水停止",1); }} 9.将WinCC运行画面最小化
HWND WinCCHwnd; WinCCHwnd=FindWindow(NULL,"WinCC-Runtime - "); //如果运行语言为英文 if (WinCCHwnd==0) WinCCHwnd=FindWindow(NULL,"WinCC-运行系统 - "); //如果运行语言为中文 CloseWindow(WinCCHwnd); 10.显示或不显示(其中hiddVtext为内部的二进制变量) if(GetTagBit("hiddVtext")==0) //Return-Type: BOOL { SetTagBit("hiddVtext",TRUE); //Return-Type: BOOL //Return-Type: BOOL } else {SetTagBit("hiddVtext",FALSE); } 10.打开编辑画面的脚本
#pragma option(mbcs) #ifdef RUN_ON_WEBNAVIGATOR #else HWND hExplorerWindow= NULL; HWND hRuntimeWindow= NULL; hExplorerWindow= FindWindow("WinCCExplorerFrameWndClass",NULL); hRuntimeWindow= FindWindow("PDLRTisAliveAndWaitsForYou",NULL); if(hExplorerWindow) { ShowWindow(hExplorerWindow, SW_MINIMIZE); // This entry is only necessary for Windows 2000 ShowWindow(hExplorerWindow, SW_SHOWNORMAL); SetForegroundWindow(hExplorerWindow); } else printf("\r\n SetForeground failed"); #endif 11.如何在WINCC中制作一个保持型按钮
方法1: if( GetTagBit("M10") ) SetTagBit("M10",0); else SetTagBit("M10",1); 方法2: SetTagBit("M1.0",(SHORT)!GetTagBit("M1.0")); 求反指令,如果为1点击变为0, 如果为0点击变为1 方法3: 或者做两个按钮, 按钮一:显示,直接连接m1.0,是--不显示,否--显示 。事件,直接连接,源,常数1,变量M1.0; 按钮二:事件,直接连接,源,常数0,变量M1.0; 用按钮一覆盖按钮二 |
|