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 将重新启动。
答:如何在 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 将重新启动。
新闻详情