由于行易软件大部分软件设计都采用了双屏扩展技术,同时内置了PPT展示等多进程技术.快捷键的设计就不能采用一般的设计方法.
设计思路如下:
1.界面焦点位于控制软件界面上时,设计的快捷键才能起作用.如果控制软件界面上失去焦点,设计的快捷键就不能起作用.所以可以采用高级技术:钩子技术,用它扑捉键盘信息.
2.软件内置的的PPT展示采用的是微软2003PPT技术,展示PPT文档时会全屏启软件PPT软件.而这个微软PPT软件和控制软件分别属于不同的进程,但焦点位于PPT展示文档时,控制软件要扑捉键盘信息,只能采用全局钩子,而不是进程钩子.
3.而用户在编辑PPT文档时,如果采用相同的快捷键,又可能激发这个快捷键,所以,在编辑PPT文档时 ,要关闭这个钩子.
4.也就是说,用户在打算使用快捷键时,一定不要干其他的有类似操作快捷键操作工作.避免激发这个快捷键,引发现场操作出现意外.
下面以"活动现场双屏管理系统-多线程抽奖版"软件为例,说一下其操作过程,其它软件类似:
打算抽奖时,抽奖PPT控制区面板状态如下:
当点击了快捷键按钮后,抽奖PPT控制区面板状态如下(注解:360有时会误报说键盘被扑捉,此时应该允许放行):
开始滚动按钮出现 [空格] 字样,停止滚动按钮出现 [回车] 字样,意思是:用户可以使用键盘的空格键和回车键控制这两个按钮,而不是只用鼠标.
当用户点击 [编辑]按钮(注意:界面上有两处编程按钮)时,软件自动取消快捷键的使用.如果打算使用,请再点击[快捷键]按钮,可以启用[开始滚动]及[停止滚动]的快捷键功能.
为了防止个别客户在启用了快捷键同时,又去操作其它的软件,又设计了[焦点]按钮,给用户一个提醒,焦点不在控制界面上时,去操作其它软件,是不妥当的.假设要操作其它软件,千万不要再按动键盘[空格键]和[回车键].
原文地址:http://blog.csdn.net/boomcode/article/details/43603367