J'essaie de créer un service simple en C# en utilisant VS2008 qui crée un fichier texte lorsque l'ordinateur passe en mode veille. Mon code actuel jette l'erreur suivante:WqlEventQuery contient-il un constructeur avec 1 argument?
'SleepNotifierService.WqlEventQuery' does not contain a constructor that takes '1' arguments
Maintenant, je regardais dans le navigateur d'objets, et il semble que ça ne prend en un seul argument. C'est ce que le navigateur avait à dire:
public WqlEventQuery(string queryOrEventClassName)
Voici mon code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Management;
using System.IO;
namespace SleepNotifierService
{
public class WqlEventQuery : EventQuery { }
public partial class Service1 : ServiceBase
{
ManagementEventWatcher _watcher;
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
WqlEventQuery query = new WqlEventQuery("Win32_PowerManagementEvent");
_watcher = new ManagementEventWatcher(query);
_watcher.EventArrived += new EventArrivedEventHandler(watcher_EventArrived);
_watcher.Start();
}
protected override void OnStop()
{
_watcher.Stop();
}
void watcher_EventArrived(object sender, EventArrivedEventArgs e)
{
try
{
int eventType = Convert.ToInt32(e.NewEvent.Properties["EventType"].Value);
switch (eventType)
{
case 4:
Sleep();
break;
case 7:
Resume();
break;
}
}
catch (Exception ex)
{
//Log(ex.Message);
}
}
public void Sleep()
{
StreamWriter SW;
SW = File.CreateText("c:\\MyTextFile.txt");
SW.WriteLine("Sleep mode initiated");
SW.Close();
}
public void Resume()
{
}
}
}
que j'interprète le navigateur d'objets mal? Je suis nouveau à la création de services et C# /. NET en général, donc ce pourrait être quelque chose de trivial.
apprécierais toute aide,
Tomek
bon appel 8). Pourquoi utiliser le mot-clé var lors de la déclaration de cette variable de requête? – Tomek
@Tomek Pourquoi pas? Enregistre aussi de la dactylographie –