" PostMessage" 函数也将指令传送给要关闭的进程,但是不用等到指令被确实执行完毕就立即返回其调用脚本。< /li>
" Termina">
技术频道

在 WinCC 中启动或关闭一个Windows程序

可以利用Win32 API的函数关闭程序:
" SendMessage" 函数将指令传送给要关闭的进程并且等待直到该指令被执行。然后返回其调用脚本。< /li>
" PostMessage" 函数也将指令传送给要关闭的进程,但是不用等到指令被确实执行完毕就立即返回其调用脚本。< /li>
" TerminateProcess" 函数将进程从主存储器中删除。其效果就等同于在Windows NT 任务管理器中单击“结束任务”按钮。
警告 !:
如果使用“TerminateProcess”函数,数据可能被遗失。当前运行程序中的数据就不能保存。
使用“SendMessage”和“PostMessage”函数,程序就有可能恰当的断开与数据库,OPC services DLLs等的连接。
因此总是使用“SendMessage” 和“PostMessage”函数。
下面的WinCC项目展示了如何中止标准Windows程序“Calculator”。在开始窗口中有五个按钮。用“Start Calculator”按钮启动程序。用“Close Calculator terminate”,“Close Calculator SendMessage”和“Close Calculator PostMessage”按钮关闭在PC上运行的所有的“ Calculator”程序。
“Close Calculator”按钮的脚本可以分为以下部分:
对“Calculator”窗口的控制由该窗口分类名决定。计算器窗口的分类名为“SciCalc”。
注意事项:
可以发现窗口分类名“Spy++”,如Microsoft VC++的交货软件包包括“Spy++”。
确定相关进程的ID。
产生进程的控制。
关闭进程。
由于“sending message”和“mail message”函数,条目2和3被放弃。
注意事项:
下面是SIMATICWinCC V5.x和SIMATICWinCC V6.0的例子。这两个例子的功能是一样的。
收费软件(用SIMATIC卡/AVC卡付费):
文件“endtask.exe”包含一个 WinCC项目。该项目已经通过WinCC V5.0 SP1产生。

文章版权归西部工控xbgk所有,未经许可不得转载。