2016-05-31 3 views
0

Ich versuche, diesen Konsolencode zu nehmen und ein Ergebnis in einem Textfeld namens Bitlocker zurückgeben. Der Konsolencode scheint gut zu funktionieren, solange ich in Admin laufe. Ich habe nie versucht, Konsolenergebnisse abzurufen und sie im Klartext anzuzeigen, bevor ich so verwirrt bin, was ich falsch gemacht habe.Wie kann ich Ergebnisse von einer konsolenbasierten Abfrage in einer Textbox anzeigen?

Was ich will, ist die QueryObj Antwort abrufen und in einem Textfeld anzeigen.

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System; 
using System.Management; 
using System.Windows.Forms; 



namespace ComplianceCheck_2._0 
{ 



public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 




    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 

    } 
    public void Main() 
    { 
     try 
     { 
      ManagementObjectSearcher searcher = 
       new ManagementObjectSearcher("root\\CIMV2\\Security\\MicrosoftVolumeEncryption", 
       "SELECT * FROM Win32_EncryptableVolume"); 

      foreach (ManagementObject queryObj in searcher.Get()) 
      { 
       Console.WriteLine("-----------------------------------"); 
       Console.WriteLine("Win32_EncryptableVolume instance"); 
       Console.WriteLine("-----------------------------------"); 
       Console.WriteLine("ProtectionStatus: {0}", queryObj["ProtectionStatus"]); 

       int status; 
       status = int.Parse(Console.ReadLine()); 
       if (status > 0) 
       { 
        Bitlocker.Text = "True"; 
       } 
       else ; 
       { 
        Bitlocker.Text = "False"; 
       } 


      } 
     } 
     catch (ManagementException e) 
     { 
      MessageBox.Show("An error occurred while querying for WMI data: " + e.Message); 
     } 
    } 
+0

Was genau ist dein Problem? –

+0

Ich versuche, das endgültige Ergebnis aus dem QueryObj pf Protection Status zu erhalten, um das Ergebnis 0 oder 1 in einem Textfeld zurückzugeben. –

+0

Sie können hier sehen, ich versuche, einen binären Ansatz zu verwenden und sagen, wenn wir Status das Objekt der vorherigen Konsolenlinie aufrufen, dann können wir annehmen, wenn der Status größer als 0 ist, dann kann ich "True" im Klartext an die Bitlocker zurückgeben Textfeld, sonst gibt false zurück –

Antwort

0
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.Management; 
using System.Windows.Forms; 



namespace ComplianceCheck_2._0 
{ 



public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 




    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 

    } 
    public void Main() 
    { 

    } 

    private void SystemCheck_Click(object sender, System.EventArgs e) 
    { 
     try 
     { 
      ManagementObjectSearcher searcher = 
       new ManagementObjectSearcher("root\\CIMV2\\Security\\MicrosoftVolumeEncryption", 
       "SELECT * FROM Win32_EncryptableVolume"); 

      foreach (ManagementObject queryObj in searcher.Get()) 
      { 
       Console.WriteLine("-----------------------------------"); 
       Console.WriteLine("Win32_EncryptableVolume instance"); 
       Console.WriteLine("-----------------------------------"); 
       Console.WriteLine("ProtectionStatus: {0}", queryObj["ProtectionStatus"]); 

       Bitlocker.Text = queryObj["ProtectionStatus"] == "0" ? "False" : "True"; 


      } 
     } 
     catch (ManagementException) 
     { 
      MessageBox.Show("An error occurred while querying for WMI data: "); 
     } 
    } 
} 
} 
Verwandte Themen