wincc调用vb程序

我用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

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

相关推荐