Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows mobile Windows mobile threading.timer处于无人参与模式_Windows Mobile_Windows Mobile 6.5_.net Cf 3.5 - Fatal编程技术网

Windows mobile Windows mobile threading.timer处于无人参与模式

Windows mobile Windows mobile threading.timer处于无人参与模式,windows-mobile,windows-mobile-6.5,.net-cf-3.5,Windows Mobile,Windows Mobile 6.5,.net Cf 3.5,我有一个windows mobile 6.5程序,我想每十分钟触发一次对web服务器的调用。但这项活动似乎并不总是被称为。我创建了一个简单的程序来测试事件何时被触发 threading.timer设置为每10秒执行一次,然后将时间存储在字符串中。我正在尝试设置无人值守模式的要求,以便在单击设备上的电源按钮或设备空闲时,此计时器将继续执行 当我点击设备上的电源按钮时,计时器停止执行 Imports System.Threading Imports Win32 Public Class Form1

我有一个windows mobile 6.5程序,我想每十分钟触发一次对web服务器的调用。但这项活动似乎并不总是被称为。我创建了一个简单的程序来测试事件何时被触发

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
末级

我从中得到了Win32类。下面是PowerPolicyNotify的代码:

[DllImport("CoreDLL")]
public static extern int PowerPolicyNotify(
      PPNMessage dwMessage,
      int option
//    DevicePowerFlags);
);

在挂起模式下,计时器和else被冻结。电源模式经常混淆。在无人值守模式下,您的无人值守模式似乎是挂起模式,显示为关闭,但系统仍在运行进程等。在挂起模式下,进程和线程都被冻结,只有硬件或定时事件才能唤醒设备。 最好是使用通知事件,如果设备处于挂起模式,也会触发这些事件


参见这里和代码C++中的代码示例.< /P>有没有具体的原因说明为什么你不使用简单的定时器?是的,简单的计时器只有在定时器打开的时候才出现嘀嘀嘀嘀声,这在我开发的应用程序中是不起作用的。谢谢,你在哪里让我有系统触发任务的解决方案,虽然我使用的是CeRunAppAtTime而不是事件,但我编写的事件是一个通知API事件。CeRunAppAtTime除了在通知事件数据库中输入一个计划之外,什么都不做。