找到了点儿代码,供楼主参考。
C#的代码,要是用C++就直接调用API好了。
public class LedLib
{
private int m_count;
private const int NLED_COUNT_INFO_ID = 0;
private const int NLED_SUPPORTS_INFO_ID = 1;
public LedLib()
{
NLED_COUNT_INFO pOutput = new NLED_COUNT_INFO();
if (!NLedGetDeviceCount(0, ref pOutput))
{
throw new Exception("震动模块初始化错误!");
}
this.m_count = (int)pOutput.cLeds;
}
[StructLayout(LayoutKind.Sequential)]
private struct NLED_COUNT_INFO
{
public uint cLeds;
}
[StructLayout(LayoutKind.Sequential)]
private struct NLED_SETTINGS_INFO
{
public uint LedNum;
public int OffOnBlink;
public int TotalCycleTime;
public int OnTime;
public int OffTime;
public int MetaCycleOn;
public int MetaCycleOff;
}
[StructLayout(LayoutKind.Sequential)]
private struct NLED_SUPPORTS_INFO
{
public uint LedNum;
public int lCycleAdjust;
public bool fAdjustTotalCycleTime;
public bool fAdjustOnTime;
public bool fAdjustOffTime;
public bool fMetaCycleOn;
public bool fMetaCycleOff;
}
}