在.NET Compact Framework调用PPC设备的震动功能[转]
利用C#开发Pocket PC程序,想在程序里调用设备的震动功能,至少再wm5中还没有这样的API,上网查了不少例子,都只能再c++下调用。既然这样,那唯一的办法是运用P/Invoke了,在"coredll.dll"中有这样两个函数 C++代码 BOOL INAPI NLedGetDeviceInfo( UINT nInfoId, void *pOutput ); BOOL WINAPI NLedSetDevice( UINT nDeviceId, void *pInput ); NLedGetDeviceInfo 是获得LED数量,NLedSetDevice是来设置LED状态的,我们只有通过它来启动或者关闭Pocket PC设备的震动与否。说明一下:一般PPC设备都有两个LED,一个就是扬声器0(Radio LED),另一个则是振动器1(Vibrator)了。在我的PPC设备上发现第二个是Vibrator,不知道是不是所有的PPC都是这样子的。后来查到"On the HTC Himalaya the vibration device is implemented at index 1。"也就是HTC内核的都是1. C#代码 using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using System.Threading; namespace BluetoothChatPPC { class LED { class NLED_SETTINGS_INFO { public [...]
