




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精品文檔切換按鈕001 SetTagBit(TE_BOOL,!GetTagBit(TE_BOOL);002 BOOL AA=GetTagBit(TE_BOOL);if(A) SetTagBit(TE_BOOL,0);Else SetTagBit(TE_BOOL,1);003 SetTagBit(TE_BOOL ,1-GetTagBit(TE_BOOL );I O 域處的格式化輸入輸出在 I/O 域的輸出值事件處的動(dòng)作Float F_TAG;F_TAG =GetTagFloat(TE_FLOAT); return(F_TAG /100);WINCC運(yùn)行畫面最小化HWND WinCCHwnd;Wi
2、nCCHwnd=FindWindow(PDLRTisAliveAndWaitsForYou,NULL);CloseWindow(WinCCHwnd);WINDOWS中提供的標(biāo)準(zhǔn)對(duì)話框 BOOL bool1;HWND Hwnd;int iRet;Hwnd = Fin dWi ndow(NULL,Wi nCC-運(yùn)行系統(tǒng) -”);if (!Hwnd) Hwnd = FindWindow(NULL,WinCC- 運(yùn)行系統(tǒng) - );if (!Hwnd) printf(rnGetWinCC Handle Failed!);iRet=MessageBox(Hwnd, 確 認(rèn) 合 閘 , 確 認(rèn) 對(duì) 話 框
3、,MB_YESNOCANCEL|MB_ICONEXCLAMATION|MB_SETFOREGROUND|MB_SYSTEMMODAL);switch (iRet)case IDYES: printf(user do YESrn);SetTagBit(TE_QUEST,1);break;case IDNO: printf(user do NOrn);SetTagBit(TE_QUEST,0);break;case IDCANCEL: printf(user do CANCELrn);break;本畫框的功能是 點(diǎn)擊按鈕的時(shí)候彈出 windows 詢問(wèn)對(duì)話框 其中“確認(rèn)合閘” 為對(duì)話內(nèi)容, 對(duì)話框
4、的名稱為 “確認(rèn)對(duì)話框”用戶不同顯示不同的按鈕你可以在用戶管理器給每個(gè)用戶不同的權(quán)限,使他們對(duì)按鈕有不同的操作權(quán),這是最簡(jiǎn)便 的。但是如果一定要根據(jù)用戶不同顯示不同的按鈕就要用C 腳本了下面這段代碼可以加在有兩個(gè)按鈕的畫面的對(duì)象屬性- 事件 -畫面對(duì)象 -其他 -打開(kāi)畫面,三個(gè)用戶名是 userl, user2, user3,按鈕名稱是按鈕1 ,按鈕2,你可以自行修改,這里假設(shè)已經(jīng)進(jìn)行過(guò)用戶登錄的操作,當(dāng)打開(kāi)有這兩個(gè)按鈕的畫面時(shí)執(zhí)行下列腳本判斷用戶并 顯示相應(yīng)的按鈕if (strcmp(GetTagChar(CurrentUser),user1) )elseSetVisible(lpszPic
5、tureName, 按鈕 1,TRUE);SetVisible(lpszPictureName, 按紐 2,FALSE);if(strcmp(GetTagChar(CurrentUser),user2) )elseSetVisible(lpszPictureName, 按鈕 1,FALSE);SetVisible(lpszPictureName, 按鈕 2,TRUE);if (strcmp(GetTagChar(CurrentUser),user3) )elseSetVisible(lpszPictureName, 按鈕 1,TRUE);SetVisible(lpszPictureName,
6、按鈕 2,TRUE); strcmp 是比較字符串的語(yǔ)句,比較文本變量只能用它,幫助里沒(méi)有的,用它比較讀取到的 用戶名GetTagChar(,CurrentUser和三個(gè)用戶名userX,你把這段語(yǔ)句加到一個(gè)按鈕的鼠 標(biāo)動(dòng)作里,看點(diǎn)擊按鈕會(huì)不會(huì)兩個(gè)按鈕現(xiàn)實(shí)和隱藏。登錄登出對(duì)話框#pragma code (useadmin.dll)#include PWRT_api.h#pragma code()PWRTLogin(c);PWRTLogin參數(shù)必須是CHAR字符。它指定了顯示對(duì)話框的監(jiān)視器。如果只使用一個(gè)監(jiān)視器, 那么保留默認(rèn)參數(shù)“(或者指定“ 1。#pragma code (useadmin.
7、dll)#include PWRT_api.h#pragma code()PWRTLogout();PWRTLogin參數(shù)必須是CHAR字符。它指定了顯示對(duì)話框的監(jiān)視器。如果只使用一個(gè)監(jiān)視器, 那么保留默認(rèn)參數(shù)“(或者指定“ 1。WinCC如何實(shí)現(xiàn)鼠標(biāo)OnMouseOVer事件用 WINDOWAPI函數(shù) GetCusorPos獲取當(dāng)前鼠標(biāo)位置,用GetWindowRect函數(shù)獲取窗口位置,兩值相減得鼠標(biāo)在 WINCC frame上的相對(duì)位置。用全局腳本(設(shè)定為1s定時(shí)刷新),然后獲取要 OnMouseOver 事件的物體的位置, 并與鼠標(biāo)位置相比較, 如一致則觸發(fā)自己 定 義的動(dòng)作。 i nc
8、lude apdefap.hint gscAction( void )#pragma code(user32.dll);BOOL GetCusorPos(POINT lpPoint); /獲取鼠標(biāo)的位置(絕對(duì)位置 -對(duì)應(yīng)屏幕分辨率)BOOL GetWindowRect(HWND hwnd,LPRECT lpRect); /獲取窗體 位置#pragma code();POINT pPos;RECT rRec;HWND hwnd;BOOL bRet,bRet2;long lLeft,lTop,lWidth,lHeight;long lX,lY;char szStr100;hwnd=FindWind
9、ow(NULL,WinCC-Runtime - ); / 如語(yǔ)言為中文應(yīng)為 WinCC 運(yùn)行系統(tǒng) - if (hwnd=0) printf(rnError! WinCc Handle is %d,hwnd);goto over;精品文檔bRet=GetCursorPos(&pPos);if (bRet=0) goto over; bRet2=GetWindowRect(hwnd,&rRec);if (bRet2=0) goto over; lX=pPos.x-rRec.left; / 鼠標(biāo) 對(duì) 置 lY=pPos.y-rRec.top; / 鼠標(biāo) 位置/ 如果為非全屏模式,需將上述數(shù)值中的高h(yuǎn)
10、eight 判斷減去標(biāo)題欄的寬度/printf(The Current Cusor Pos is x:%d,y:%drn,pPos.x,pPos.y);/printf(The Cusor Pos in Window is x:%d,y:%drn,pPos.x-lLeft2,pPos.y-lTop2);lLeft=GetLeft(NewPdl0.Pdl,Text1);lTop=GetTop(NewPdl0.Pdl,Text1);lWidth=GetWidth(NewPdl0.Pdl,Text1);/Return - Type :long int/Return - Type :long int/R
11、eturn - Type :long intlHeight=GetHeight(NewPdl0.Pdl,Text1);/Return - Type :long intif (lX=lLeft)&(lY=lTop)&(lX=lLeft+lWidth)&(lY=lTop+lHeight) sprintf(szStr,%d,%d,lX,lY);SetText(NewPdl0.Pdl,Text1,szStr); /Return - Type :char*/printf(The Text1 Pos is x:%d,y:%drn,lLeft2,lTop-lTop2);over:return 0;退出WIN
12、CC監(jiān)控時(shí)選擇退出方式DMExitWi nCCEx (DM_SDMODE_SYSTEM或者使用動(dòng)態(tài)向?qū)?通過(guò)給變量 ExitSystem 賦不同的數(shù)值實(shí)現(xiàn)不同的方式 int a;a=GetTagWord(ExitSystem); / 返回類型 :WORD switch(a)case 1 : MExitWinCCEx (DM_SDMODE_REBOOT); break; case 2 : DMExitWinCCEx (DM_SDMODE_SYSTEM); break; case 4 : ExitWinCC();break; /DMExitWinCCEx (DM_SDMODE_WINCC); ca
13、se 8 : DMExitWinCCEx (DM_SDMODE_LOGOFF); break;如何實(shí)現(xiàn)用戶登陸日志wince中用c腳本實(shí)現(xiàn)?break;#pragma code(kernel32.dll)VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);#pragma code()char* username;char buf128;static char preuser128;unsigned a,b,c,d,e,f;FILE* fp;SYSTEMTIME sysTime;/ 讀取系統(tǒng)時(shí)間 ,并且復(fù)制給變量 a,b,c,d,e,fGetLocalTim
14、e(&sysTime); a=sysTime.wHour; b=sysTime.wMinute; c=sysTime.wSecond; f=sysTime.wYear; e=sysTime.wMonth; d=sysTime.wDay;username = GetTagChar(CurrentUser); / 得到當(dāng)前用戶名稱fp= fopen(c:wincclog.txt, a+);/ 創(chuàng)建文件if(strcmp(username, preuser)!=0)/ 如果當(dāng)前用戶名稱和前一個(gè)用戶名不同if(strcmp(username, ) != 0)&(strcmp(preuser, ) =
15、0)/ 如果當(dāng)前用戶名稱不空同時(shí)前一個(gè)用戶名為空 sprintf(buf, 用戶 :%st 登陸時(shí)間是: t %d-%d-%d,%d-%d-%dn, username,a,b,c,d,e,f); fputs(buf, fp); elseif(strcmp(username, ) = 0)&(strcmp(preuser, ) != 0)/ 如果當(dāng)前用戶名稱為空同時(shí)前一個(gè)用戶名不空 sprintf(buf, 用戶 :%st 退出時(shí)間是: t %d-%d-%d,%d-%d-%dn, preuser,a,b,c,d,e,f);fputs(buf, fp);elsesprintf(buf, 用 戶 :
16、%st 退 出 時(shí) 間 是 : t %d-%d-%d,%d-%d-%dn, preuser,a,b,c,d,e,f);fputs(buf, fp);sprintf(buf, 用 戶 :%st 登 陸 時(shí) 間 是 : t %d-%d-%d,%d-%d-%dn, username,a,b,c,d,e,f);fputs(buf, fp);strcpy(preuser, username);fclose(fp);return 0;用戶登陸日志: (包括用戶的登陸退出信息,以便查詢?cè)谑裁磿r(shí)間段是哪個(gè)用戶在使用這個(gè) 監(jiān)控軟件)設(shè)置語(yǔ)言英語(yǔ) SetLanguage(0x409);法語(yǔ) SetLanguage
17、(0x407);德語(yǔ) SetLanguage(0x40C);調(diào)用計(jì)算器如果在 C 腳本中僅僅有一句 ProgramExecute(CALC.exe) 此時(shí)不關(guān)計(jì)算器就切換畫面,則計(jì)算器都在后臺(tái)運(yùn)行。所以在腳本中加入使計(jì)算器必須顯 示在 WINDOW 的激活層上。HWND Hwnd;BOOL bRet;Hwnd=FindWindow(NULL,Calculator);if (!Hwnd)ProgramExecute(CALC.exe);Hwnd=FindWindow(NULL,Calculator);if (Hwnd) printf(rn%d,Hwnd);bRet=SetWindowPos(Hw
18、nd,HWND_TOPMOST,300,300,200,200,SWP_NOSIZE); if (!bRet) printf(rnSetWindowPos Error!);修改密碼#pragma code(UseGen.dll)#include USEGENAP.H#pragma code() LPCMN_ERROR err;if (PWGENConnect(CC_ass_04-09-21_16:35:22,err) )if(PWGENChangePassword(GetTagChar(user),GetTagChar(oldpassword),Get TagChar(password),err)MessageBox(NULL,密碼修改成功!,提示,MB_OK|MB_ICONEXCLAMATION|MB_SETFOREGROUND|MB_SYSTEMMODAL); elseMessageBox(NULL,密碼修改失??!,提示,MB_OK|MB_ICONEXCLAMATION|MB_SETFOREGROUND|MB_SYSTEMMODAL); elseMessageBox(N
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 項(xiàng)目推廣演講致辭稿
- 個(gè)人車輛掛靠租賃公司協(xié)議書
- 2025年柳州a2貨運(yùn)從業(yè)資格證模擬考試題
- 2025年南京貨運(yùn)從業(yè)資格證考試模擬考試題庫(kù)答案大全
- 小學(xué)英語(yǔ)試卷聽(tīng)力稿
- 書籍設(shè)計(jì)印刷合同范本文檔
- 個(gè)體診所自查報(bào)告
- 廈門落戶中介合同范本
- 業(yè)務(wù)員個(gè)人年度工作總結(jié)
- 三年級(jí)語(yǔ)文備課組工作總結(jié)
- 冷卻塔使用維護(hù)說(shuō)明書
- 慢性心源性心臟病護(hù)理查房課件
- 項(xiàng)目維保投標(biāo)方案技術(shù)標(biāo)
- 安全生產(chǎn)法律法規(guī)培訓(xùn)課件1
- 教育的減法讓孩子更幸福(課件)-小學(xué)生教育主題班會(huì)通用版
- 大格子作文紙模板
- 中考物理一輪復(fù)習(xí)策略與方法
- 祥云財(cái)富工業(yè)園區(qū)新建鐵路專用線工程環(huán)評(píng)報(bào)告
- 藥店換證材料
- 移動(dòng)商務(wù)基礎(chǔ)(吳洪貴)課件 第二章 探秘移動(dòng)技術(shù)
- 動(dòng)畫劇本創(chuàng)作課件
評(píng)論
0/150
提交評(píng)論