在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