c#制作仿win7屏幕键盘之笔记

          刚做完这个小玩意,总算有点成就感,不知从何说起,先上图吧

c#制作仿win7屏幕键盘之笔记_第1张图片

制作一个屏幕键盘最主要的核心就是焦点的问题,如何才能打字的时候让窗体得不到焦点,我主要想说说这个。

让窗体得不到焦点使用API函数SetWindowLong()即可搞定这个问题,但是又不能让其一直都得不到焦点否则窗体就没法拖动了,所以还要弄个鼠标钩子来监控鼠标行为,若鼠标点击在程序的按键区域就让窗体失去焦点,若点击在按键区以外包括程序边框都让其得到焦点,这样就搞定了这个最核心的问题

所以鼠标hook加SetWindowLong() 

外观方面,win7边框效果网上有,按钮重绘自己去修炼修炼,还有在按键的布局方面,用上档键shift来改键按键的Text,如下

c#制作仿win7屏幕键盘之笔记_第2张图片

还有Fn键来增加F1到F12

c#制作仿win7屏幕键盘之笔记_第3张图片

到这里可以说这个键盘的功能大概齐了

http://download.csdn.net/detail/u013402605/6817103

你可能感兴趣的:(c#制作仿win7屏幕键盘之笔记)