我用vb做了个程序,在wincc中调用。当wincc激活时,vb程序开始运行。wincc中做了个按钮,用于将vb程序调到前景显示在wincc画面的上面。我写了下面程序:
HWND Handle=NULL;
Handle = FindWindow(NULL, "his_data");
ShowWindow(Handle,SW_SHOWNORMAL);
SetForegroundWindow(Handle);
可是点击按钮时,有时能调出这个画面,有时调不出来,怎末回事啊?
另外,使画面最小化的函数我查到了,那使画面恢复到正常状态和使画面最大化的函数是什么啊?请高手指点!
最佳答案
你试试这个:
{
HWND Hwnd;
BOOL bRet;
Hwnd=FindWindow(NULL,"程序窗体名称");
if (!Hwnd)
{
ProgramExecute("E:\\SetProc.exe");
Hwnd=FindWindow(NULL,"程序窗体名称");
if (Hwnd)
{
printf("\r\n%d",Hwnd);
bRet=SetWindowPos(Hwnd,HWND_TOPMOST,300,300,200,200,SWP_NOSIZE);
if (!bRet) printf("\r\nSetWindowPos Error!");
}
}
}
E:\\SetProc.exe换成你要启动的程序,记住一定是\\,把这段程序放在一个按钮或者打开画面的动作下,程序会在wincc画面的上层,不会被画面挡住,窗体名称要根据你的程序来定。
提问者对于答案的评价:
谢谢!!!!!!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc273038.html