keyboardjwplayer是什么意思思

君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Mark Blake - Pigs Might Fly- The Inside Story of Pink Floyd (epub)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口厚积薄发,丰富的公用类库积累,助你高效进行系统开发(7)-----声音播放、硬件信息、键盘模拟及钩子、鼠标模拟及钩子等设备相关 - 伍华聪 - 博客园
随笔 - 469, 文章 - 20, 评论 - 7014, 引用 - 20
俗话说,一个好汉十个帮,众人拾柴火焰高等都说明一个道理,有更多的资源,更丰富的积累,都是助你走向成功,走向顶峰的推动力。
本篇继续继续整理优化已有的共用类库,并继续发表随笔介绍公用类库的接口方法以及详细使用操作,力求给自己继续优化,积攒更丰富的公用类库资源,加深了解的同时,也给大家展现公用类库好的方面。
本篇的公用类库的介绍主题是设备相关的部分,包括计算机硬件信息(如系统信息、电脑CPU、磁盘、网卡、内存等)、声音播放控制、 键盘属性及操作、全局键盘按键钩子、鼠标属性及操作、鼠标按键钩子等类库信息。如果你对前面的类库介绍文章有兴趣,可以参考下面的连接了解。
&&1、WAV声音格式文件播放辅助类AudioHelper&实现效果&&1)本辅助类主要是用来方便实现播放WAV声音格式文件的操作。&2)声音播放可以用在特定事件的触发上,如来电、收到消息等,经典的就如QQ收到信息,咳嗽的声音,使用声音播放可以提高更好的用户体验。&实现代码&1)辅助类提供的方法接口如下所示:&///&&summary&& &&///&播放&.wav&格式的声音文件&&&&///&&/summary&&&&&///&&param&name="location"&声音文件路径&&/param&&&&&public&static&void&Play(string&location)&&&&&&&///&&summary&&&&&///&播放&.wav&格式的声音文件&&&&///&&/summary&&&&&///&&param&name="playMode"&播放声音的枚举模式。默认为AudioPlayMode.Background。&/param&&&&&///&&param&name="location"&声音文件路径&/param&&&&&public&static&void&Play(string&location,&AudioPlayMode&playMode)&&&&&&&///&&summary&&&&&///&播放&.wav&格式的声音文件&&&&///&&/summary&&&&&///&&param&name="stream"&&see&cref="T:System.IO.Stream"&&/see&声音文件的流对象&/param&&&&&///&&param&name="playMode"&播放声音的枚举模式。默认为AudioPlayMode.Background。&/param&&&&&public&static&void&Play(Stream&stream,&AudioPlayMode&playMode)&&&&&&&///&&summary&&&&&///&播放&.wav&格式的声音文件&&&&///&&/summary&&&&&///&&param&name="data"&声音文件的字节数组&/param&&&&&///&&param&name="playMode"&播放声音的枚举模式。默认为AudioPlayMode.Background。&/param&&&&&public&static&void&Play(byte[]&data,&AudioPlayMode&playMode)&&&&&&&///&&summary&&&&&///&播放系统声音&&&&///&&/summary&&&&&public&static&void&PlaySystemSound(SystemSound&systemSound)&&&&&&&///&&summary&&&&&///&停止正在后台播放的声音&&&&///&&/summary&&&&&public&static&void&Stop() &2)&辅助类AudioHelper的使用例子代码如下所示private&void&btnPlaySound_Click(object&sender,&EventArgs&e)&&&&{&&&&&&&&try&&&&&&&{&&&&&&&&&&&&AppConfig&config&=&new&AppConfig();&&&&&&&&&&&&string&SoundFilePath&=&config.AppConfigGet("SoundFilePath");&&&&&&&&&&&&AudioHelper.Play(SoundFilePath);//AudioHelper.Play("ringin.wav");&&&&&&&&}&&&&&&&&catch&(Exception&ex)&&&&&&&&{&&&&&&&&&&&&LogHelper.Error("没找到声音文件"&,&ex);&&&&&&&&}&&&&} &&2、声音文件播放操作辅助类SoundPlayerHelper。除了MP3声音文件外,还可以播放WAV格式、midi格式声音文件。实现效果&&1)本辅助类主要是用来方便实现MP3文件、WAV文件、Midi文件等声音的播放操作,并提供音量控制操作功能。&实现代码&1)辅助类提供的方法接口如下所示:&///&&summary&& &&///&播放声音文件&&&&///&&/summary&&&&&///&&param&name="soundFileName"&声音文件路径(可以是MP3、WAV、Midi等声音文件)&/param&&&&&///&&param&name="Repeat"&是否重复播放&/param&&&&&public&static&void&Play(string&soundFileName,bool&Repeat)&&&&&&&///&&summary&&&&&///&播放声音嵌入资源字节数组&&&&///&&/summary&&&&&///&&param&name="soundEmbeddedResource"&声音文件嵌入资源字节数组(可以是MP3、WAV、Midi等声音格式)&/param&&&&&///&&param&name="Repeat"&是否重复播放&/param&&&&&public&static&void&Play(byte[]&soundEmbeddedResource,&bool&Repeat)&&&&&&&///&&summary&&&&&///&暂停播放&&&&///&&/summary&&&&&public&static&void&Pause()&&&&&&&///&&summary&&&&&///&停止播放&&&&///&&/summary&&&&&public&static&void&Stop()&&&&&&&///&&summary&&&&&///&清除操作&&&&///&&/summary&&&&&public&static&void&Dispose()&&&&&&&///&&summary&&&&&///&获取或设置音量的百分比&&&&///&&/summary&&&&&///&&returns&&/returns&&&&&public&static&float&VolumePercent&&&&&&&&&&///&&summary&&&&&///&获取音量&&&&///&&/summary&&&&&///&&returns&&/returns&&&&&public&static&float&GetVolume()&&&&&&&///&&summary&&&&&///&设置音量&&&&///&&/summary&&&&&///&&param&name="volume"&&/param&&&&&public&static&void&SetVolume(float&volume)&&&&&&&///&&SUMMARY&&&&&///&返回当前状态播放:播放,暂停,停止等&&&&///&&/SUMMARY&&&&&public&static&string&Status &2)辅助类SoundPlayerHelper的使用例子代码如下所示&bool&isPlay&=&false;&&&&private&void&btnPlayMp3_Click(object&sender,&EventArgs&e)&&&&{&&&&&&&&if&(!isPlay)&&&&&&&&{&&&&&&&&&&&&string&mp3File&=&bine(Application.StartupPath,&"伤不起.mp3");&&&&&&&&&&&&string&waveFile&=&bine(Application.StartupPath,&"ringin.wav");&&&&&&&&&&&&string&midFile&=&@"C:\Windows\Media\onestop.mid";&&&&&&&&&&&&&&&SoundPlayerHelper.Play(mp3File,&false);&&&&//播放MP3格式文件&&&&&&&&&&&&//SoundPlayerHelper.Play(waveFile,&true);&//播放WAV格式文件&&&&&&&&&&&&//SoundPlayerHelper.Play(midFile,&false);&&//播放Midi格式文件&&&&&&&&&&&&this.btnPlayMp3.Text&=&"停止播放";&&&&&&&&}&&&&&&&&else&&&&&&&{&&&&&&&&&&&&SoundPlayerHelper.Stop();//停止播放&&&&&&&&&&&&//SoundPlayerHelper.Pause();//暂停播放&&&&&&&&&&&&this.btnPlayMp3.Text&=&"播放声音";&&&&&&&&}&&&&&&&&&&&string&statu&=&SoundPlayerHelper.S&&&&&&&&this.Text&=&&&&&&&&&isPlay&=&!isP&&&&}&&&&&&&private&void&trackBar1_Scroll(object&sender,&EventArgs&e)&&&&{&&&&&&&&//设置音量&&&&&&&&float&vol&=&SoundPlayerHelper.VolumeP&&&&&&&&SoundPlayerHelper.VolumePercent&=&trackBar1.V&&&} &&&&3、提供用户硬件唯一信息的辅助类 FingerprintHelper实现效果&&1)本辅助类主要是用来方便实现获取用户硬件的相关信息,根据用户各种硬件(CPU、网卡、磁盘、主板等)标识信息,获取一个8位唯一标识数字。&&2)本辅助类只提供了一个公共的方法Value,它集合了CPU、网卡、磁盘、主板等信息,通过这个8位的数字标识,我们可以唯一区分一台电脑,类似我们每个人的指纹信息一样,很少会发生重复的现象,可以用在一些关键的注册授权机制上。&实现代码&1)辅助类提供的方法接口如下所示:///&&summary&&&&&///&根据用户各种硬件(CPU、网卡、磁盘、主板等)标识信息,&&&&///&获取一个8位唯一标识数字&&&&///&&/summary&&&&&public&static&string&Value()&&&&&&&///&&summary&&&&&///&获取硬件的标识信息&&&&///&&/summary&&&&&private&static&string&identifier(string&wmiClass,&string&wmiProperty,&string&wmiMustBeTrue)&&&&&&&///&&summary&&&&&///&获取硬件的标识信息&&&&///&&/summary&&&&&private&static&string&identifier(string&wmiClass,&string&wmiProperty)&&&&&&&///&&summary&&&&&///&获取CPU信息&&&&///&&/summary&&&&&private&static&string&cpuId()&&&&&&&///&&summary&&&&&///&获取BOIS主板标识信息&&&&///&&/summary&&&&&private&static&string&biosId()&&&&&&&///&&summary&&&&&///&获取主硬盘的标识信息&&&&///&&/summary&&&&&///&&returns&&/returns&&&&&private&static&string&diskId()&&&&&&&///&&summary&&&&&///&获取主板的标识信息&&&&///&&/summary&&&&&///&&returns&&/returns&&&&&private&static&string&baseId()&&&&&&&///&&summary&&&&&///&获取主视频控制器标识信息&&&&///&&/summary&&&&&///&&returns&&/returns&&&&&private&static&string&videoId()&&&&&&&///&&summary&&&&&///&获取第一个可用网卡信息&&&&///&&/summary&&&&&///&&returns&&/returns&&&&&private&static&string&macId()&&&&&&&///&&summary&&&&&///&转换内容为8位数字&&&&///&&/summary&&&&&private&static&string&pack(string&text)&2)辅助类FingerprintHelper的使用例子代码如下所示&&string&identity&=&FingerprintHelper.Value(); &&MessageUtil.ShowTips(identity); &&4、获取系统信息、电脑CPU、磁盘、网卡、内存等相关信息辅助类 HardwareInfoHelper实现效果&&1)本辅助类主要是用来方便获取系统信息、电脑CPU、磁盘、网卡、内存等相关信息。&&实现代码&&1)辅助类提供的方法接口如下所示:&///&&summary&& &&///&获得盘符为drvID的硬盘序列号,缺省为C&&&&///&&/summary&&&&&///&&param&name="drvID"&盘符,如"C"&/param&&&&&///&&returns&&/returns&&&&&public&static&string&HDVal(string&drvID)&&&&&&&///&&summary&&&&&///&获取默认C盘的磁盘序列号&&&&///&&/summary&&&&&///&&returns&&/returns&&&&&public&static&string&HDVal()&&&&&&&///&&summary&&&&&///&获取硬盘ID&&&&///&&/summary&&&&&///&&returns&&/returns&&&&&public&static&string&GetDiskID()&&&&&&&///&&summary&&&&&///&获取硬盘Model的信息&&&&///&&/summary&&&&&public&static&string&GetDiskModel()&&&&&&&///&&summary&&&&&///&获得Cpu使用率&&&&///&&/summary&&&&&public&static&int&GetCpuUsage()&&&&&&&///&&summary&&&&&///&获取CPU的ID&&&&///&&/summary&&&&&///&&returns&&/returns&&&&&public&static&string&GetCPUId()&&&&&&&///&&summary&&&&&///&获取CPU的名称&&&&///&&/summary&&&&&///&&returns&&/returns&&&&&public&static&string&GetCPUName()&&&&&&&///&&summary&&&&&///&返回USB盘符列表&&&&///&&/summary&&&&&public&static&List&string&&GetUSBDriveLetters()&&&&&&&///&&summary&&&&&///&获得硬盘信息&&&&///&&/summary&&&&&public&static&HardDiskInfo&GetHDInfo(byte&driveIndex)&&&&&&&#region&其他数据&&&&&&&///&&summary&&&&&///&获取MAC地址&&&&///&&/summary&&&&&///&&returns&&/returns&&&&&public&static&string&GetMacAddress()&&&&&&&///&&summary&&&&&///&获取IP地址&&&&///&&/summary&&&&&public&static&string&GetIPAddress()&&&&&&&///&&summary&&&&&///&获取操作系统的登录用户名&&&&///&&/summary&&&&&public&static&string&GetUserName()&&&&&&&///&&summary&&&&&///&获取计算机名&&&&///&&/summary&&&&&public&static&string&GetComputerName()&&&&&&&///&&summary&&&&&///&获取PC类型&&&&///&&/summary&&&&&public&static&string&GetSystemType()&&&&&&&///&&summary&&&&&///&获取物理内存&&&&///&&/summary&&&&&public&static&string&GetTotalPhysicalMemory()&&&&&#endregion&2)辅助类HardwareInfoHelper的使用例子代码如下所示 &private&void&btnComputer_Click(object&sender,&EventArgs&e)&&&&{&&&&&&&&string&computerName&=&HardwareInfoHelper.GetComputerName();&&&&&&&&string&userName&=&HardwareInfoHelper.GetUserName();&&&&&&&&string&systemType&=&HardwareInfoHelper.GetSystemType();&&&&&&&&string&cpuid&=&HardwareInfoHelper.GetCPUId();&&&&&&&&string&cpuName&=&HardwareInfoHelper.GetCPUName();&&&&&&&&int&cpuUsage&=&HardwareInfoHelper.GetCpuUsage();&&&&&&&&string&diskId&=&HardwareInfoHelper.GetDiskID();&&&&&&&&string&ip&=&HardwareInfoHelper.GetIPAddress();&&&&&&&&string&macAddress&=&HardwareInfoHelper.GetMacAddress();&&&&&&&&string&memery&=&HardwareInfoHelper.GetTotalPhysicalMemory();&&&&&&&&&&&StringBuilder&sb&=&new&StringBuilder();&&&&&&&&sb.AppendFormat("ComputerName:\t&{0}&\r\n",&computerName);&&&&&&&&sb.AppendFormat("UserName:\t&{0}&\r\n",&userName);&&&&&&&&sb.AppendFormat("SystemType:\t&{0}&\r\n",&systemType);&&&&&&&&sb.AppendFormat("CPU&ID:\t&{0}&\r\n",&cpuid);&&&&&&&&sb.AppendFormat("CPU&Name:\t&{0}&\r\n",&cpuName);&&&&&&&&sb.AppendFormat("CPU&Usage:\t&{0}&\r\n",&cpuUsage);&&&&&&&&sb.AppendFormat("Disk&Id:\t&{0}&\r\n",&diskId);&&&&&&&&sb.AppendFormat("IP:\t&{0}&\r\n",&ip);&&&&&&&&sb.AppendFormat("MacAddress:\t&{0}&\r\n",&macAddress);&&&&&&&&sb.AppendFormat("TotalPhysicalMemory:\t&{0}&\r\n",&memery);&&&&&&&&MessageUtil.ShowTips(sb.ToString());&&&&&&&&&&&string&identity&=&FingerprintHelper.Value();&&&&&&&&MessageUtil.ShowTips(identity);&&&&} &&&5、键盘操作辅助类KeyboardHelper,提供属性访问敲击那个键,以及发送软键盘消息等操作。实现效果&&1)本辅助类主要是用来方便实现访问键盘的大写键、数字键等键的开启情况,另外判断CTRL、Shift、Alt键是否按下的操作,辅助类也封装了发送软键盘消息等操作。&实现代码&1)辅助类提供的方法接口如下所示:#region&键盘属性&&&&&&&&&&&&&&///&&summary&&&&&&&&&&&&///&判断ALT建是否按下&&&&&&&&&&&///&&/summary&&&&&&&&&&&&public&static&bool&AltKeyDown&&&&&&&&&&&&&&&&&///&&summary&&&&&&&&&&&&///&判断Caps&Lock大写键是否打开&&&&&&&&&&&///&&/summary&&&&&&&&&&&&public&static&bool&CapsLock&&&&&&&&&&&&&&///&&summary&&&&&&&&&&&&///&判断CTRL键是否按下&&&&&&&&&&&///&&/summary&&&&&&&&&&&&public&static&bool&CtrlKeyDown&&&&&&&&&&&&&&///&&summary&&&&&&&&&&&&///&判断Num&Lock&数字键是否打开&&&&&&&&&&&///&&/summary&&&&&&&&&&&&public&static&bool&NumLock&&&&&&&&&&&&&&///&&summary&&&&&&&&&&&&///&判断Scroll&Lock滚动锁定键是否打开&&&&&&&&&&&///&&/summary&&&&&&&&&&&&public&static&bool&ScrollLock&&&&&&&&&&&&&&///&&summary&&&&&&&&&&&&///&判断Shift键是否按下&&&&&&&&&&&///&&/summary&&&&&&&&&&&&public&static&bool&ShiftKeyDown&&&&&&&&&&&&&&#endregion&&&&&&&&&&&&#region&操作方法&&&&&&&&&&&&&&///&&summary&&&&&&&&&&&&///&发送一个或多个击键到活动窗口。&&&&&&&&&&&///&&/summary&&&&&&&&&&&&///&&param&name="keys"&定义发送键的字符串。特殊控制键代码SHIFT(+),CTRL(^),&ALT(%)。Send("{SPACE}")、Send("+{TAB}")&/param&&&&&&&&&&&&public&static&void&SendKeys(string&keys)&&&&&&&&&&&&&&///&&summary&&&&&&&&&&&&///&发送一个或多个击键到活动窗口&&&&&&&&&&&///&&/summary&&&&&&&&&&&&///&&param&name="keys"&定义发送键的字符串.特殊控制键代码SHIFT(+),CTRL(^),&ALT(%)。Send("{SPACE}")、Send("+{TAB}")&/param&&&&&&&&&&&&///&&param&name="wait"&指定是否要等待应用程序继续之前得到处理的击键。默认为True。&&&&&&&&&&&///&&/param&&&&&&&&&&&&public&static&void&SendKeys(string&keys,&bool&wait)&&&&&&&&&&&&#endregion&&&2)辅助类KeyboardHelper的使用例子代码如下所示 &bool&capsLock&=&KeyboardHelper.CapsL&&&&bool&numLock&=&KeyboardHelper.NumL&&&&bool&scrollLock&=&KeyboardHelper.ScrollL&&&&KeyboardHelper.SendKeys("{TAB}");&//发送Tab键&&&&KeyboardHelper.SendKeys("%{F4}");&//发送Alt&+&F4退出&相关的按键参考如下所示&&6、全局键盘钩子,用来捕捉系统全局的键盘输入辅助类 KeyboardHook实现效果&&1)本辅助类主要是用来方便实现全局键盘钩子,用来捕捉系统全局的键盘输入。&&2)通过键盘钩子,我们可以获取用户的各种按键信息,以及可以屏蔽指定按键的操作,全局键盘钩子,就如一扇门一样,可以记录相关的键盘输入操作,也可以增加指定的事件处理,可以控制键盘按键继续流转到其他程序中,或者屏蔽操作。最典型的钩子操作例子就是金山词霸等取词软件。&&3)辅助类通过KeyboardHook.Enable()开始键盘钩子,通过KeyboardHook.Disable()禁用或者通过KeyboardHook.Remove(**)来移除指定的键盘钩子事件。&&实现代码&1)辅助类提供的方法接口如下所示:&///&&summary&& &&///&判断是否CTRL键按下&&&&///&&/summary&&&&&public&static&bool&Control&=&false;&&&&&&&///&&summary&&&&&///&判断Shift键是否按下&&&&///&&/summary&&&&&public&static&bool&Shift&=&false;&&&&&&&///&&summary&&&&&///&检查Alt键是否按下&&&&///&&/summary&&&&&public&static&bool&Alt&=&false;&&&&&&&///&&summary&&&&&///&检查Windows键是否按下&&&&///&&/summary&&&&&public&static&bool&Win&=&false;&&&&&&&///&&summary&&&&&///&键盘敲击事件代理定义&&&&///&&/summary&&&&&public&delegate&bool&KeyPressed();&&&&&&&///&&summary&&&&&///&处理键盘按下委托函数&&&&///&&/summary&&&&&///&&param&name="key"&&&&&///&按下的键。需检查CTRL、Shift、Win等键。&&&&///&&returns&&&&&///&如果想应用程序能捕捉到,设置为True;如果设置为False,则键盘事件被屏蔽。&&&&///&&/returns&&&&&public&delegate&bool&KeyboardHookHandler(Keys&key);&&&&&&&///&&summary&&&&&///&添加一个键盘钩子处理给当前的键&&&&///&&/summary&&&&&public&static&KeyboardHookHandler&KeyD&&&&&&&///&&summary&&&&&///&启动键盘钩子处理&&&&///&&/summary&&&&&///&&returns&如无异常返回True&/returns&&&&&public&static&bool&Enable()&&&&&&&///&&summary&&&&&///&禁用键盘钩子处理&&&&///&&/summary&&&&&///&&returns&如果禁用成功,则返回True&/returns&&&&&public&static&bool&Disable()&&&&&&&///&&summary&&&&&///&添加一个按下键的钩子处理&&&&///&&/summary&&&&&///&&param&name="key"&按下的键&/param&&&&&///&&param&name="callback"&按键的处理事件函数&/param&&&&&public&static&bool&AddKeyDown(Keys&key,&KeyPressed&callback)&&&&&&&///&&summary&&&&&///&添加一个键弹起的钩子处理&&&&///&&/summary&&&&&///&&param&name="key"&弹起的键&/param&&&&&///&&param&name="callback"&按键的处理事件函数&/param&&&&&public&static&bool&AddKeyUp(Keys&key,&KeyPressed&callback)&&&&&&&///&&summary&&&&&///&添加一个按下键的钩子处理&&&&///&&/summary&&&&&///&&param&name="key"&按下的键&/param&&&&&///&&param&name="callback"&按键的处理事件函数&/param&&&&&public&static&bool&Add(Keys&key,&KeyPressed&callback)&&&&&&&///&&summary&&&&&///&移除一个按下键的钩子处理&&&&///&&/summary&&&&&///&&param&name="key"&移除的按键&/param&&&&&public&static&bool&RemoveDown(Keys&key)&&&&&&&///&&summary&&&&&///&移除一个弹起键的钩子处理&&&&///&&/summary&&&&&///&&param&name="key"&移除的按键&/param&&&&&public&static&bool&RemoveUp(Keys&key)&&&&&&&///&&summary&&&&&///&移除一个键的钩子处理&&&&///&&/summary&&&&&///&&param&name="key"&移除的按键&/param&&&&&public&static&bool&Remove(Keys&key)&&&&&&&///&&summary&&&&&///&返回一个给定的键基于当前的控制键的字符串表示形式。&&&&///&&/summary&&&&&///&&param&name="key"&当前的键&/param&&&&&///&&returns&&/returns&&&&&public&static&string&KeyToString(Keys&key) &&2)辅助类KeyboardHook的使用例子代码如下所示&private&void&btnKeyboadHook_Click(object&sender,&EventArgs&e)&&&&{&&&&&&&&KeyboardHook.Enable();&&&&&&&&KeyboardHook.Add(Keys.S,&new&KeyboardHook.KeyPressed(TestKeyboadHook));&&&&}&&&&&&&private&bool&TestKeyboadHook()&&&&{&&&&&&&&//仅处理Alt&+&S&的钩子事件&&&&&&&&if&(KeyboardHook.Alt)&&&&&&&&{&&&&&&&&&&&&this.Text&=&DateTime.Now.ToString();&&&&&&&&&&&&NativeMethods.BringToFront(this.Handle);&&&&&&&&}&&&&&&&&return&true;&//如果要被其他程序捕捉,返回True,否则返回False。&&&&}&&&&&&&private&void&btnRemoveKeyboadHook_Click(object&sender,&EventArgs&e)&&&&{&&&&&&&&KeyboardHook.Remove(Keys.S);&&&&} &&&7、鼠标辅助操作类,提供获取鼠标状态以及模拟鼠标点击等操作 MouseHelper实现效果&&1)本辅助类主要是用来方便获取鼠标状态以及模拟鼠标点击等操作,通过该辅助类,可以获取鼠标是否安装、滚轮是否支持、或者模拟鼠标移动、单击、双击等操作。&&实现代码&1)辅助类提供的方法接口如下所示:&#region&鼠标相关属性 & &&&&///&&summary&&&&&///&检查鼠标是否已经安装.&&&&///&&/summary&&&&&public&static&bool&MousePresent&&&&&&&///&&summary&&&&&///&检查鼠标是否存在滚轮&&&&///&&/summary&&&&&public&static&bool&WheelExists&&&&&&&///&&summary&&&&&///&获取鼠标滚轮每次滚动的行数&&&&///&&/summary&&&&&public&static&int&WheelScrollLines&&&&&#endregion&&&&&#region&鼠标操作函数&&&&&&&///&&summary&&&&&///&连续两次鼠标单击之间会被处理成双击事件的间隔时间。&&&&///&&/summary&&&&&///&&returns&以毫秒表示的双击时间&/returns&&&&&[DllImport("user32.dll",&EntryPoint&=&"GetDoubleClickTime")]&&&&public&static&extern&int&GetDoubleClickTime();&&&&&&&///&&summary&&&&&///&检取光标的位置,以屏幕坐标表示。&&&&///&&/summary&&&&&///&&param&name="lpPoint"&POINT结构指针,该结构接收光标的屏幕坐标。&/param&&&&&///&&returns&如果成功,返回值非零;如果失败,返回值为零。&/returns&&&&&[DllImport("user32.dll",&EntryPoint&=&"GetCursorPos")]&&&&public&static&extern&int&GetCursorPos(Point&lpPoint);&&&&&&&///&&summary&&&&&///&把光标移到屏幕的指定位置。如果新位置不在由&ClipCursor函数设置的屏幕矩形区域之内,则系统自动调整坐标,使得光标在矩形之内。&&&&///&&/summary&&&&&///&&param&name="x"&指定光标的新的X坐标,以屏幕坐标表示。&/param&&&&&///&&param&name="y"&指定光标的新的Y坐标,以屏幕坐标表示。&/param&&&&&///&&returns&如果成功,返回非零值;如果失败,返回值是零&/returns&&&&&[DllImport("user32.dll")]&&&&public&static&extern&int&SetCursorPos(int&x,&int&y);&&&&&#endregion&&&&&#region&封装函数&&&&&&&///&&summary&&&&&///&在当前鼠标的位置左键点击一下&&&&///&&/summary&&&&&public&static&void&MouseClick()&&&&&&&///&&summary&&&&&///&移动到坐标位置点击&&&&///&&/summary&&&&&///&&param&name="location"&要点击的坐标位置,屏幕绝对值&/param&&&&&public&static&void&MouseClick(Point&location)&&&&&&&///&&summary&&&&&///&移动到坐标位置点击&&&&///&&/summary&&&&&///&&param&name="location"&要点击的坐标位置,屏幕绝对值&/param&&&&&public&static&void&MouseRightClick(Point&location)&&&&&&&///&&summary&&&&&///&移动到坐标位置&&&&///&&/summary&&&&&public&static&void&MouseMove(Point&location)&&&&&#endregion&&2)辅助类MouseHelper的使用例子代码如下所示&&&操作比较简单,自己操作下即可。&8、全局的鼠标钩子操作类,用作捕捉全局的鼠标输入操作的辅助类 MouseHook实现效果&&1)本辅助类主要是用来方便实现全局的鼠标钩子,用作捕捉全局的鼠标输入操作。&&实现代码&1)辅助类提供的方法接口如下所示:///&&summary&&&&&///&鼠标输入处理代理&&&&///&&/summary&&&&&///&&param&name="button"&操作的鼠标键&/param&&&&&///&&returns&如果想应用程序能捕捉到,设置为True;如果设置为False,则鼠标事件被屏蔽。&/returns&&&&&public&delegate&bool&MouseButtonHandler(MouseButtons&button);&&&&&&&///&&summary&&&&&///&鼠标按键按下处理操作&&&&///&&/summary&&&&&public&static&MouseButtonHandler&ButtonD&&&&&&&///&&summary&&&&&///&鼠标按键弹起处理操作&&&&///&&/summary&&&&&public&static&MouseButtonHandler&ButtonUp;&&&&&&&///&&summary&&&&&///&鼠标移动处理操作&&&&///&&/summary&&&&&public&static&MouseMoveHandler&M&&&&&&&///&&summary&&&&&///&鼠标滚动处理操作&&&&///&&/summary&&&&&public&static&MouseScrollHandler&S&&&&&&&///&&summary&&&&&///&启动鼠标钩子处理&&&&///&&/summary&&&&&///&&returns&如无异常则返回True&/returns&&&&&public&static&bool&Enable()&&&&&&&///&&summary&&&&&///&禁用鼠标钩子操作&&&&///&&/summary&&&&&///&&returns&禁用成功则返回True&/returns&&&&&public&static&bool&Disable() &&&2)辅助类MouseHook的使用例子代码如下所示 &&private&void&btnMouseHook_Click(object&sender,&EventArgs&e)&&&&{&&&&&&&&MouseHook.ButtonDown&=&new&MouseHook.MouseButtonHandler(TestMouseHook);&&&&&&&&MouseHook.Scrolled&=&new&MouseHook.MouseScrollHandler(TestMouseScroll);&&&&&&&&MouseHook.Enable();&&&&}&&&&&&&private&bool&TestMouseHook(MouseButtons&sender)&&&&{&&&&&&&&this.Text&=&string.Format("你单击了鼠标键:{0}",&sender);&&&&&&&&return&true;&&&&}&&&&&&&private&bool&TestMouseScroll(int&delta)&&&&{&&&&&&&&this.Text&=&string.Format("你滚动了鼠标值:{0}",&delta);&&&&&&&&return&true;&&&&} &&&&整理文档本身也对类库进行进一步的优化,整理过程本身也是一次马拉松式的身心赛跑。

我要回帖

更多关于 bnetplayer是什么意思 的文章

 

随机推荐