Standby verhindern Standby verhindern
Ergebnis 1 bis 5 von 5
  1. Armin Gast
    Hallo.
    Weiss jemand wie ich von meinen Programm aus verhindern kann, dass mein Pocket PC in den Standby-Modus geht? Ich programmiere C# mit dem compact framework 3.5. Das Windows auf meinen Pocket PC ist Windows Mobile 6

    Dankbar für jeden Tip, Armin
    0
     

  2. Hallo

    da sehe ich zwei Fälle:
    1) PPC geht automatisch nach x Minuten in den Standby
    2) der User drückt die Powertaste

    Um 1) zu verhindern könnte man mit einem Timer alle x Sekunden SystemIdleTimerReset() aufrufen.
    Bei 2) muss das Drücken der Taste abgefangen werden. Hier bin ich mir nicht sicher, ob das einfach und generell für verschiedene ppcs lösbar ist. Suche mal nach "intercepting hardware button" oder so!

    heliosdev

    P.S.: Der Akku wird an diesem Programm keine Freude haben!
    1
     

  3. Nun, es geht auch einfacher. Je nach dem, wie sehr sich der Hersteller an das DDK hällt, kannst du
    in HKLM\SYSTEM\CurrentControlSet\Control\Power den Wert BattPowerOff und/oder ExtPowerOff auf 0 setzen.
    andernfalls SystemIdleTimerReset() über P/Invoke verwenden und in regelmässigen Abständen aufrufen.

    Es gibt dazu auch ein sehr schönes, umfassendes Beispiel bei Codeguru: Windows Mobile Power Management:
    Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using Win32;
    using Microsoft.Win32;
    
    namespace PreventSleep
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            // Look in the registry to see what the shortest timeout
            // period is. Note that Zero is a special value with respect
            // to timeouts. It indicates that a timeout will not occur.
            // As long as as SystemIdleTimeerReset is called on intervals
            // that are shorter than the smallest non-zero timeout value
            // then the device will not sleep from idleness. This does
            // not prevent the device from sleeping due to the power 
            // button being pressed. 
            int ShortestTimeoutInterval()
            {
                int retVal = 1000;
                RegistryKey key = Registry.LocalMachine.OpenSubKey(@"\SYSTEM\CurrentControlSet\Control\Power");
                object oBatteryTimeout = key.GetValue("BattPowerOff");
                object oACTimeOut = key.GetValue("ExtPowerOff");
                object oScreenPowerOff = key.GetValue("ScreenPowerOff");
    
                if (oBatteryTimeout is int)
                {
                    int v =  (int)oBatteryTimeout;
                    if(v>0)
                        retVal = Math.Min(retVal,v);
                 }
                if (oACTimeOut is int)
                {
                    int v = (int)oACTimeOut;
                    if(v>0)
                        retVal = Math.Min(retVal, v);
                 }
                if (oScreenPowerOff is int)
                {
                    int v = (int)oScreenPowerOff;
                    if(v>0)
                        retVal = Math.Min(retVal, v);
               }
    
                return retVal*9/10;
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                // Set the interval on our timer and start the
                // timer.  It will run for the duration of the
                // program
                int interval = ShortestTimeoutInterval();
                resetTimer.Interval = interval;
                resetTimer.Enabled = true;
            }
    
            private void miQuit_Click(object sender, EventArgs e)
            {
                this.Close();
            }
    
            // Call the SystemIdleTimerReset method to prevent the 
            // device from sleeping
            private void resetTimer_Tick(object sender, EventArgs e)
            {
                CoreDLL.SystemIdleTimerReset();
            }
        }
    }
    1
     

  4. Wo bekomm ich den die Core.dll her?
    Ich kann die nirgends finden.
    0
     

  5. die heisst coredll.dll und ist teil von windows mobile, liegt im \windows-Verzeichnis.
    0
     

Ähnliche Themen

  1. Absturz im Standby
    Von mawim im Forum HTC Touch Diamond
    Antworten: 10
    Letzter Beitrag: 26.03.2009, 13:10
  2. Automatisches Tastatur aufklappen verhindern !
    Von Touch User im Forum HTC Touch Diamond
    Antworten: 8
    Letzter Beitrag: 22.11.2008, 17:55
  3. Automatischer Internetaufbau übers Mobilfunknetz verhindern
    Von Unregistriert im Forum HTC Touch Diamond
    Antworten: 4
    Letzter Beitrag: 24.07.2008, 10:55
  4. Gespräch beenden (Anrufflag verhindern)
    Von huefi2 im Forum HTC Touch
    Antworten: 1
    Letzter Beitrag: 23.02.2008, 15:30
  5. Antworten: 2
    Letzter Beitrag: 14.01.2005, 11:47

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

c# standby verhindern

windows mobile standby verhindern

c# energiesparmodus verhindern

windows ce standby

winapi windows ruhezustand verhindern

windows mobile 6 standby

windows ce suspend

vb.net standby verhindern

c# ruhezustand verhindern

windows ce suspend modewindows ce standby verhindernwindows ce ruhezustandc# aus standby aufwecken windows mobilec# wince suspendwindows mobile abschalten verhindernc standby verhindernvb.net systemidletimerresetc# windows am energiesparmodus hindernwince suspend verhindernwinapi ruhezustand verhindernvb.net ruhezustand verhindernstandby .net c# preventvb.net windows mobile tasten abfragenwinapi standby verhindern

Stichworte