在 WinCC 中啟動(dòng)或關(guān)閉一個(gè)Windows程序
可以利用Win32 API的函數(shù)關(guān)閉程序:
" SendMessage" 函數(shù)將指令傳送給要關(guān)閉的進(jìn)程并且等待直到該指令被執(zhí)行。然后返回其調(diào)用腳本。< /li>
" PostMessage" 函數(shù)也將指令傳送給要關(guān)閉的進(jìn)程,但是不用等到指令被確實(shí)執(zhí)行完畢就立即返回其調(diào)用腳本。< /li>
" TerminateProcess" 函數(shù)將進(jìn)程從主存儲(chǔ)器中刪除。其效果就等同于在Windows NT 任務(wù)管理器中單擊“結(jié)束任務(wù)”按鈕。
警告 !:
如果使用“TerminateProcess”函數(shù),數(shù)據(jù)可能被遺失。當(dāng)前運(yùn)行程序中的數(shù)據(jù)就不能保存。
使用“SendMessage”和“PostMessage”函數(shù),程序就有可能恰當(dāng)?shù)臄嚅_與數(shù)據(jù)庫,OPC services DLLs等的連接。
因此總是使用“SendMessage” 和“PostMessage”函數(shù)。
下面的WinCC項(xiàng)目展示了如何中止標(biāo)準(zhǔn)Windows程序“Calculator”。在開始窗口中有五個(gè)按鈕。用“Start Calculator”按鈕啟動(dòng)程序。用“Close Calculator terminate”,“Close Calculator SendMessage”和“Close Calculator PostMessage”按鈕關(guān)閉在PC上運(yùn)行的所有的“ Calculator”程序。
“Close Calculator”按鈕的腳本可以分為以下部分:
對(duì)“Calculator”窗口的控制由該窗口分類名決定。計(jì)算器窗口的分類名為“SciCalc”。
注意事項(xiàng):
可以發(fā)現(xiàn)窗口分類名“Spy++”,如Microsoft VC++的交貨軟件包包括“Spy++”。
確定相關(guān)進(jìn)程的ID。
產(chǎn)生進(jìn)程的控制。
關(guān)閉進(jìn)程。
由于“sending message”和“mail message”函數(shù),條目2和3被放棄。
注意事項(xiàng):
下面是SIMATICWinCC V5.x和SIMATICWinCC V6.0的例子。這兩個(gè)例子的功能是一樣的。
收費(fèi)軟件(用SIMATIC卡/AVC卡付費(fèi)):
文件“endtask.exe”包含一個(gè) WinCC項(xiàng)目。該項(xiàng)目已經(jīng)通過WinCC V5.0 SP1產(chǎn)生。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。