2009-04-14 76 views
1

我现在正在用Win CE 5.0弄湿我的脚,以更新现有平台上的一些代码。我们有兴趣部署一个定制的外壳/主屏幕/应用程序启动器,我也有几个问题:自定义/替换Windows CE 5.0任务栏?

1)我们正在运行标准的CE shell,我假设它可以定制,因为源代码随Platform Builder一起提供。我想知道如何用屏幕顶部的状态栏来完全替换它(如iPhone)是多么“痛苦”。我认为任务切换可以通过专门的快捷键来处理。我对此有所怀疑。

2)如果它不能被删除,任务栏是否可以调整大小并移动到屏幕的顶部?我们基本上试图找到一种方法来为我们自己的状态栏保留屏幕顶部的前20个像素行,并防止最大化的应用程序窗口覆盖其顶部。

非常感谢您的帮助。

-ksudeadeye

回答

1

当我找到解决方案时,我很高兴和愤怒,因为它比我想象的更容易。 对于2)预留空间,你需要这样做:

RECT rc; 
SetRect(&rc, 0, 25, GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN)); 
SystemParametersInfoW(SPI_SETWORKAREA, 0, (void*) &rc, SPIF_SENDCHANGE); 

有了这个代码,您在屏幕的顶部预留25个像素。 :D

如果您有疑问也许this可以帮助您或this

祝你好运。

+0

我们最终在开发过程中找到了SPI_SETWORKAREA标志,但花了一些时间。希望这会让别人少了一些头痛。谢谢。 :) – 2011-03-09 07:18:51

1

要隐藏任务栏是一个简单的注册表更改:

; Hide the windows tasbar by default. 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\AutoHide] 
""=dword:1 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\OnTop] 
""=dword:0 

至于定制,你自己的,那就是更多的工作,而不是我已经尝试。

0

我有一些在CE 5.0中修改任务栏的经验。这不是一件容易的事,但结果可以真正增加设备的个人接触。我的任务是添加一个带有密码对话框的用户模式第二个任务栏,第二种类型的shell通知将图标添加到用户栏。最终,它只是标准的Windows CE编程 - 任务栏,通知托盘,启动按钮等与CE环境中的任何其他窗口一样。

你应该开始探索在这里: C:\ WINCE500 \ PUBLIC \ SHELL \ OAK \ HPC \ EXPLORER \任务\ taskbar.cpp

小心,克隆你的代码,而对于大量的调试周期的准备。这是超过5000行严重的意大利面代码。