怎样关闭WINCC中占用公共程序的别的程序?

我做了一个把WINCC集成在S7-300里面的项目。不幸的是,由于没有经验,在编程过程中,先后在C盘和D盘各复制了一份不完全的备份。现在运行的程序在E盘,等我想拷贝的时候,有5个文件不让复制(ly是WINCC项目的名称):
    ArchiveManager
       ly Server Database Transaction Log File
       ly Server Database Primary Data File
       lyRT Server Database Transaction Log File
      lyRT Server Database Primary Data File  
      总说他们正在被其它程序使用。请问有什么办法能让我复制吗?

最佳答案

请参考:
 函数与样例:在 WinCC 中启动或关闭一个Windows程序
 问题:
 如何在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”程序。 

 。。。
 http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&siteid=cseus&objid=2976503

提问者对于答案的评价:
谢谢,我马上又要开始另一个项目了,一定试一试

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午9:12
下一篇 2019年6月11日 上午9:12

相关推荐