技术论坛

 回复:斑竹请帮助:用C脚本在WINCC中调出XP自带的计算器,怎样使计算器窗口保持在最上方?

返回主题列表
作者 主题
呆板吧
奇侠

经验值:6221
发帖数:1151
精华帖:6
楼主    2008-09-09 16:43:44
主题:斑竹请帮助:用C脚本在WINCC中调出XP自带的计算器,怎样使计算器窗口保持在最上方?
在WINCC中调出XP自带的计算器,为方便操作人员的使用,却发现一个问题:
当他们不关计算器就直接操作WINCC画面,则计算器会一直保留在后台。
怎么样能解决这种问题?

同时我在学习组态手册2中关于调出WINDOWS出错框和询问框时候也遇到这样的问题。
怎么样才能解决这问题? 否则这个功能就不敢在工程中用啊!
同时询问框的窗口中右上角的关闭按扭是不能操作的,怎么才能使能操作?
YES和NO按扭的文字是否可以改成其他或中文?
同时还想问一下,这样的C脚本是否占会比较计算机系统工作空间。

因为在WINCC中我不会做相对方便快捷的二次确认按扭,一直想找到一种办法,用这种方法行吗?是否还有什么更好的办法?
dcount107
侠圣

经验值:2840
发帖数:1737
精华帖:55
    2008-09-09 17:44:18
精华帖  主题:回复:斑竹请帮助:用C脚本在WINCC中调出XP自带的计算器,怎样使计算器窗口保持在最上方?
第一个问题需要使用WINDOWS API函数
quote:[COLOR=BLUE]
HWND Hwnd;
BOOL bRet;
ProgramExecute("CALC.exe");

Hwnd=FindWindow(NULL,"Calculator");
if (Hwnd)
{
//printf("\r\n%d",Hwnd);
bRet=SetWindowPos(Hwnd,HWND_TOPMOST,300,300,200,200,SWP_NOSIZE);
if (!bRet) printf("\r\nSetWindowPos Error!");
}
[/COLOR]
非淡泊无以明志,非宁静无以致远
dcount107
侠圣

经验值:2840
发帖数:1737
精华帖:55
    2008-09-09 17:56:14
精华帖  主题:回复:斑竹请帮助:用C脚本在WINCC中调出XP自带的计算器,怎样使计算器窗口保持在最上方?
第二个问题很久以前就有了,获取WinCC句柄即可。
quote:[COLOR=BLUE]
HWND Hwnd;
Hwnd = FindWindow(NULL,"WinCC-运行系统 - ");
if (!Hwnd) Hwnd = FindWindow(NULL,"WinCC-Runtime - ");
if (!Hwnd) printf("\r\nGetWinCC Handle Failed!");
MessageBox(Hwnd,"Error Text","My Error Box",MB_OKMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL);
[/COLOR]
非淡泊无以明志,非宁静无以致远
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。