Få hibernate event c# express

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008

Få hibernate event c# express

Hej allihopa,

har skrivit ett litet program på jobbet här och jag använder mig mycket av formclosing och formload för att göra vissa event. Problemet är att jag skulle även vilja göra det när de stänger igen sina laptops, med andra ord vill jag ha kunna få hibernate event? Skulle vara fint med ett wake up event också!

Har googlat runt lite men inte hittat något som verkade som det jag ville ha

Någon som har en aning?

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Hedersmedlem
Plats
Linköping
Registrerad
Apr 2004

Titta på
Microsoft.Win32.SystemEvents.PowerModeChanged
eller
Microsoft.Win32.SystemEvents.SessionSwitch

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008
Citat:

Ursprungligen inskrivet av Elgot
Titta på
Microsoft.Win32.SystemEvents.PowerModeChanged
eller
Microsoft.Win32.SystemEvents.SessionSwitch

Guld värd supermånga tack

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008

Får det inte att funka, är det jag som är lite blind nu eller?:S

public event PowerModeChangedEventHandler PowerModeChanged; public event SessionSwitchEventHandler SessionChanged; private void Form1_Load(object sender, EventArgs e) { this.PowerModeChanged += new PowerModeChangedEventHandler(Form1_PowerModeChanged); this.SessionChanged += new SessionSwitchEventHandler(Form1_SessionChanged); }

Men funktionerna anropas inte? Har testat att låsa datorn men får inge svar

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Medlem
Plats
Sverige
Registrerad
Jun 2004
Citat:

Ursprungligen inskrivet av KurreKula
Får det inte att funka, är det jag som är lite blind nu eller?:S

public event PowerModeChangedEventHandler PowerModeChanged; public event SessionSwitchEventHandler SessionChanged; private void Form1_Load(object sender, EventArgs e) { this.PowerModeChanged += new PowerModeChangedEventHandler(Form1_PowerModeChanged); this.SessionChanged += new SessionSwitchEventHandler(Form1_SessionChanged); }

Men funktionerna anropas inte? Har testat att låsa datorn men får inge svar

Är inte säker, men är det inte så att du har skapat egna events nu? Du måste själv anropa PowerModeChanged för att du ska få den händelsen?

Testa att istället skriva

Microsoft.Win32.SystemEvents.PowerModeChanged += new Microsoft.Win32.PowerModeChangedEventHandler(funktion);

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008
Citat:

Ursprungligen inskrivet av tredora
Är inte säker, men är det inte så att du har skapat egna events nu? Du måste själv anropa PowerModeChanged för att du ska få den händelsen?

Testa att istället skriva

Microsoft.Win32.SystemEvents.PowerModeChanged += new Microsoft.Win32.PowerModeChangedEventHandler(funktion);

Kan testa det men tvivlar på att det ger en skillnad då jag har "using Microsoft.Win32;" :/

Använder mig av de inbyggda eventsen som finns i Microsoft.Win32, skriver inte eget

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Hedersmedlem
Plats
Linköping
Registrerad
Apr 2004

using System; using System.Windows.Forms; namespace systemevent { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Microsoft.Win32.SystemEvents.PowerModeChanged += new Microsoft.Win32.PowerModeChangedEventHandler(SystemEvents_PowerModeChanged); Microsoft.Win32.SystemEvents.SessionSwitch += new Microsoft.Win32.SessionSwitchEventHandler(SystemEvents_SessionSwitch); } void SystemEvents_SessionSwitch(object sender, Microsoft.Win32.SessionSwitchEventArgs e) { textBox1.AppendText(e.ToString() + ": " + e.Reason + "\r\n"); } void SystemEvents_PowerModeChanged(object sender, Microsoft.Win32.PowerModeChangedEventArgs e) { textBox1.AppendText(e.ToString() + ": " + e.Mode.ToString() + "\r\n"); } } }

Ovanstående ger följande vid låsning och upplåsning:

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008

Kan det vara dessa rader som förstor för mig?

public event PowerModeChangedEventHandler PowerModeChanged; public event SessionSwitchEventHandler SessionChanged;

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Hedersmedlem
Plats
Linköping
Registrerad
Apr 2004
Citat:

Ursprungligen inskrivet av KurreKula
Kan det vara dessa rader som förstor för mig?

public event PowerModeChangedEventHandler PowerModeChanged; public event SessionSwitchEventHandler SessionChanged;

Förmodligen.

Trädvy Permalänk
Medlem
Plats
Exil i huvudstaden
Registrerad
Jul 2004

Ja, för där ser det ut som du definierar event variabeln själv. Det du skall göra är att adda dina eventhandlers till systemets eventvariabel (eller vad det nu heter). Jämför med Elgots += i Form1_Load i exemplet.

Fungerade det när du tog bord det?

Crap.

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008

Mjo, det funkar nu:)

Blev väl så att jag definierade att jag själv skulla bestämma när eventet gick igång?

Jag fick en Form1_SessionSwitched (nåt sånt) när jag gjorde själv men när jag tog bort de där raderna blev det:
SystemEvents_SessionSwitch så funkade det super

tack alla för hjälpen!

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Medlem
Plats
Exil i huvudstaden
Registrerad
Jul 2004

Mmm, så blev det ja.
Kul att det funkar, de där eventsen skall jag lägga på minnet - kan vara bra att ha om man behöver reagera på att datorn stängs ned med hibernate.

Crap.