WINCC中调用一个exe程序

在WINCC中可以用ProgramExecute()函数调用激活一个a.exe程序。现在的问题是a.exe在运行状态下可以被再次激活,生成2个或更多的运行窗口,但这是不被希望的。希望在触发脚本时能先判断a.exe的状态,如果未运行则激活,如果已经运行则调用显示,相关的C脚本怎么写,请大家帮忙,谢谢了!

最佳答案

如何在 WinCC 中将其它程序的窗口置于最前面?
说明:
可以通过使用 Windows API 函数 FindWindow找到一个窗口的句柄。 

假设您希望将一个 Microsoft Access 窗口置于最前面: 

HWND Handle= ZERO;
Handle= FindWindow("OMAIN",ZERO);
if(Handle)

ShowWindow(Handle, SW_MINIMIZE);  

ShowWindow ( Handle, SW_SHOWNORMAL );
SetForegroundWindow(Handle); 

else
ProgramExecute("C:\\MSOffice.97\\Office\\ACCESS.EXE"); 

如果没有发现该窗口,随后 Microsoft Access 将重新启动。
参考资料:http://support.automation.siemens.com/CN/view/zh/415808

提问者对于答案的评价:
问题解决了,谢谢两位的热心解答!

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

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

相关推荐