WINCC中调用一个exe程序
刘玉蓉
发布于2014-09-18 17:19
5
0
标签:
在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 将重新启动。
参考资料:https://support.automation.siemens.com/CN/view/zh/415808