问题:
WINCC运行项目设置为全屏模式,再WINCC运行时触发最小化事件后,任务栏自动隐藏而且只能通过键盘的“窗口键”来显示任务栏!
运行环境:
Windows7 64位 service pack 1
Wincc7.3
最小化事件:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma code("user32.dll")
BOOL CloseWindow(HWND hWnd);
BOOL bRet = FALSE;
HWND handle;
handle = FindWindow(NULL,"WinCC-运行系统 - ");
bRet = CloseWindow(handle);
}
问题处理:
一开是以为是设置问题,参考了不同资料进行修改,最后还是不行。后来想了个办法:在触发窗口最小化事件时加一个显示任务栏的代码。这是根据每次最小化后需要按“窗口键”想到的。
更改后的最小化事件:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma code("user32.dll")
BOOL CloseWindow(HWND hWnd);
BOOL ShowWindow(HWND hwnd,int nCmdshow);//显示窗口API
BOOL bRet = FALSE;
BOOL cRet = FALSE;
HWND handle;
HWND fandle;
handle = FindWindow(NULL,"WinCC-运行系统 - ");
fandle = FindWindow("Shell_TrayWnd",NULL);//获取任务栏句柄
bRet = CloseWindow(handle);
cRet = ShowWindow(fandle,3);//显示任务栏
}
结果:
Wincc运行窗口最小化后任务栏显示出来了,算是解决了这个问题!但是使用一段时间后又发现一个问题:只要桌面上有窗口被关闭任务栏就会隐藏掉(打开一个文件夹然后关闭,任务栏就隐藏掉了),结束Wincc运行系统后又恢复正常。
探讨:
大家有遇到过这个问题吗?还是我的设置和最小化事件代码有问题。