.Net Compact Framework - добавьте вибрации в событие нажатия кнопки - PullRequest
2 голосов
/ 16 января 2010

Мне интересно, может ли кто-нибудь дать мне подсказку для добавления вибрации в событие нажатия кнопки. Я искал вокруг, но нашел только похожие примеры, используя окно реестра - однако я бы предпочел избегать добавления реестра, если возможно.

Кто-нибудь, кто мог бы предоставить мне пример кода для достижения этого (C # или VB.Net)?

Спасибо.

UPDATE: Код, предоставленный jball, работает как шарм. Я назвал код следующим образом, чтобы добиться короткой вибрации:

Private Sub btnMute_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _  
handles btnMute.Click
            SetVibrate(1)
            Thread.Sleep(50) 'how long should the vibration last
            SetVibrate(0)
end sub

Прекрасно работает!

1 Ответ

2 голосов
/ 16 января 2010

Доступ к нему осуществляется через LED API . С здесь :

На большинстве устройств установлена ​​вибрация к светодиодному устройству 1.

Вот пример кода из того же источника.

Private Structure NLED_SETTINGS_INFO
    Public LedNum As Integer
    Public OffOnBlink As Integer
    Public TotalCycleTime As Integer
    Public OnTime As Integer
    Public OffTime As Integer
    Public MetaCycleOn As Integer
    Public MetaCycleOff As Integer
End Structure

<DllImport("Coredll")> _
Private Shared Function NLedSetDevice(ByVal deviceId As Integer, ByRef info 
                                            As NLED_SETTINGS_INFO) As Boolean
End Function

Private Shared Sub SetVibrate(ByVal state As Boolean)
    Dim info As New NLED_SETTINGS_INFO()
    info.LedNum = 1
    info.OffOnBlink = If(state, 1, 0)
    NLedSetDevice(1, info)
End Sub
...