У меня есть программа для Windows Mobile 6.5, которую я хочу вызвать вызов веб-сервера каждые десять минут. Но событие, похоже, не всегда называется. Я создал простую программу для проверки при срабатывании событий.Windows mobile threading.timer в unattenededmode
Запуск threading.timer выполняется каждые 10 секунд, а затем сохраняет время в строке. Я пытаюсь установить требование для автоматического режима, чтобы этот таймер продолжал выполнение, когда нажата кнопка питания на устройстве или когда устройство находится в режиме ожидания.
Когда я нажимаю кнопку питания на устройстве, таймер прекращает выполнение.
Imports System.Threading
Imports Win32
Public Class Form1
Dim time As String = ""
Dim tmrUploadTimerThread As Timer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CoreDLL.PowerPolicyNotify(PPNMessage.PPN_UNATTENDEDMODE, -1)
tmrUploadTimerThread = New Timer(New TimerCallback(AddressOf Timer_Worker), Nothing, 10000, 10000)
End Sub
Private Sub Timer_Worker()
time = Now & Environment.NewLine & time
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = time
End Sub
Private Sub Form1_Closed(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Closed
CoreDLL.PowerPolicyNotify(PPNMessage.PPN_UNATTENDEDMODE, 0)
Me.Dispose()
Application.Exit()
End Sub
End Class
Я получил класс Win32 от Windows Mobile Power Management. Bellow является кодом для PowerPolicyNotify:
[DllImport("CoreDLL")]
public static extern int PowerPolicyNotify(
PPNMessage dwMessage,
int option
// DevicePowerFlags);
);
Есть ли какая-то конкретная причина, почему вы не используете простой таймер? –
Да, простой таймер только галочки, когда они находятся на форме, в которой включен таймер, который не будет работать в приложении, которое я разрабатываю. – Blag