2016-05-31 6 views
0

私はこのコンソールコードを取得して、Bitlockerというテキストボックスに結果を返そうとしています。コンソールコードは、管理者権限で実行されている限り正常に機能しているようです。私はコンソールの結果を取得してプレーンテキストで表示することは一度もありませんでした。コンソールベースのクエリの結果をテキストボックスに表示するにはどうすればよいですか?

私が望むのは、queryObjレスポンスを取得してテキストボックスに表示することです。

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

だから、正確にあなたの問題は何ですか? –

+0

私は最終結果をqueryObj pf Protection Statusから取得して、0または1の結果をテキストボックスに戻そうとしています。 –

+0

ここで見ることができますが、バイナリアプローチを使用しようとしていて、前のコンソール行のオブジェクトのステータスを呼び出すと、statusが0より大きいと仮定して、プレーンテキストで「true」を返すことができますそれ以外の場合はfalseを返します。 –

答えて

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: "); 
     } 
    } 
} 
} 
関連する問題