如何激活MC67中的红灯

时间:2013-08-01 11:40:48

标签: c# windows-mobile

我正在使用Windows Mobile 6.0和Motorola symbol.dll工作。

我需要点亮设备中的红灯。我看了摩托罗拉的例子,他们没有办法做到这一点,这让我觉得没有办法用symbol.dll做。

有不同的方法吗?或者您是否知道点亮MC67中红色LED的一般方法?我正在谈论红灯,因为我已经使用Motorola Symbol.dll

成功照亮了所有其他人

2 个答案:

答案 0 :(得分:1)

Symbol.Notification命名空间中有一个类LED(摩托罗拉的EMDK .Net)。

我没有尝试,但我认为它可以帮助您解决问题。

答案 1 :(得分:0)

通常可以使用NLED API访问WM上的所有LED。问题是你必须自己找到红色LED的ID:

首先得到LED的数量:

    NLED_COUNT_INFO cInfo;
memset(&cInfo, 0, sizeof(cInfo));
NLedGetDeviceInfo(NLED_COUNT_INFO_ID, &cInfo);

然后使用LED ON / OFF检查每个LED ID(某些支持BLINK):

/*
struct NLED_SETTINGS_INFO
{
UINT    LedNum;                 // @FIELD   LED number, 0 is first LED
INT     OffOnBlink;             // @FIELD   0 == off, 1 == on, 2 == blink
LONG    TotalCycleTime;         // @FIELD   total cycle time of a blink in microseconds
LONG    OnTime;                 // @FIELD   on time of a cycle in microseconds
LONG    OffTime;                // @FIELD   off time of a cycle in microseconds
INT     MetaCycleOn;            // @FIELD   number of on blink cycles
INT     MetaCycleOff;           // @FIELD   number of off blink cycles
};

*/
NLED_SETTINGS_INFO settings; 
memset(&settings, 0, sizeof(settings));
settings.LedNum= id;
/*  0 Off 
    1 On 
    2 Blink */
settings.OffOnBlink= onoff;
settings.TotalCycleTime=1000;
settings.OnTime = 500;
settings.OffTime=500;
settings.MetaCycleOn=5;
settings.MetaCycleOff=5;

if (!NLedSetDevice(NLED_SETTINGS_INFO_ID, &settings))
{
        DEBUGMSG(true,(L"NLedSetDevice(NLED_SETTINGS_INFO_ID) failed"));
}
else
{
        DEBUGMSG(true,(L"NLedSetDevice(NLED_SETTINGS_INFO_ID) success"));
}

PhoneGap具有上述C API的CS界面:https://github.com/hemisphire/phonegap-winmo/blob/master/NotificationCommand.cs

以上适用于所有WM设备,而不仅仅是摩托罗拉。这是一种比使用OEM SDK更通用的方法,它不适用于其他设备。