我做了一个把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