2010-09-29 2 views
2

Quand jeComment commencer `-energy` powercfg.exe à partir d'une application .NET?

using (var process = new Process 
{ 
    StartInfo = new ProcessStartInfo 
    { 
     FileName = "powercfg.exe", 
     Arguments = "-energy", 
     RedirectStandardOutput = true, 
     UseShellExecute = false, 
    } 
}) 
{ 
    process.Start(); 
    process.WaitForExit(); 
} 

Il produit:

peut être perçue La bibliothèque Efficacité de la consommation d'énergie de diagnostic (energy.dll) non .

Traduit à Inglês:

La consommation Efficacité énergétique bibliothèque de diagnostic (energy.dll) n'a pas pu être chargé.

Même lors de l'exécution l'admin.

+0

le seul problème se produit lors de l'exécution de l'application de .NET, Quand je l'invoquons de la ligne de commande, il fonctionne normalement –

+0

Pourquoi d vous avez la UseShellExecute = false? – dthorpe

+0

@dthorpe RedirectStandardOutput = '' true' nécessite UseShellExecute = –

Répondre

1

Je crains que je ne peux pas reproduire vos résultats; Je reçois le fichier de résultats comme prévu. Mais si elle aide, peut-être mes paramètres de test vous aider à réduire ce qui peut être le coupable dans votre environnement:

  • Exécution de Visual Studio 2010 en tant qu'administrateur
  • ciblé .NET 4 Client Profile
  • Compilé x86 tout CPU et binaires
  • ordinateur fonctionne sous Windows 7 x64
+0

le coupable est l'argument « -Énergie » qui utilise le « energy.dll ». Je ne mentionnaient pas cet argument à l'équipe que vous le testiez, mais maintenant j'edited la question. Mon environnement est le même que le vôtre. –

+0

Je ne mets là l'argument ce qui est la raison pour laquelle je révisais ma réponse. Il applique les écrit. –

+0

Il a commencé à travailler, mais je ne sais pas quel est le problème ou Causé résolu –

0

Réglez le WorkingDirectory sur le chemin energy.dll et powercfg.exe est situé.

+0

false' il ne fonctionne pas pour moi d'essayer –

+0

copier la DLL windows \ system32 laid, mais la plupart du temps il fixe ... –

+0

@mario la DLL est déjà là –

Questions connexes