关于WinCE 隐藏任务栏的总结

一.首先是更改 PUBLIC 源代码。位置在public/shell/oak/hpc/EXPLORER

这里有3个方法可以,达到目的,不过第二种发现会导致explorer.exe创建失败。效果同等于explorer.exe没有起来,还有待验证。
1、在TASKBAR/taskbar.cpp中将函数BOOL CTaskBar::Register()的内容全部注释,直接return TRUE;
2、在MAIN/explorer.cpp中将函数DWORD WINAPI CreatTaskBar()的内容注释,直接return 0;
3、/INC/taskbar.hxx文件,将宏TASKBAR_HEIGHT定义为0。


二、其次是在APP里面隐藏任务栏。

值得注意的是,在这里我设置了下全屏工作区域,如果不设置,会导隐藏任务栏以后,任务栏区域的鼠标动作无效。
重新显示任务栏的时候,也不需要还原工作区域,因为任务栏他自己会重新设置。

//隐藏输入法 SipShowIM(SIPF_OFF); //设置全屏工作区域 RECT rcWorkAreaNew = {0}; SetRect(&rcWorkAreaNew, 0, 0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN)); SystemParametersInfo(SPI_SETWORKAREA, 0, (void*)&rcWorkAreaNew, SPIF_SENDCHANGE); HANDLE hWndTaskBar = ::FindWindow(TEXT("HHTaskBar"), NULL); if(::IsWindowVisible(hWndTaskBar )==FALSE) { //如果任务栏隐藏,就把任务栏显示出来 ::ShowWindow(hWndTaskBar , SW_SHOWNORMAL); } else { //如果任务栏显示,就把任务栏隐藏 ::ShowWindow(hWndTaskBar , SW_HIDE); }

 

三、设置环境变量__SYSGEN_TASKMAN=1。

你可能感兴趣的:(工作,null,输入法,任务,WinCE,winapi)