从各个线程中我整合了如何以编程方式检查 BitLocker 的方法,如下:
private void TestBitLockerMenuItem_Click(object sender, RoutedEventArgs e) {
var path=new ManagementPath(@"\ROOT\CIMV2\Security\MicrosoftVolumeEncryption")
{ ClassName="Win32_EncryptableVolume" };
var scope=new ManagementScope(path);
path.Server=Environment.MachineName;
var objectSearcher=new ManagementClass(scope, path, new ObjectGetOptions());
foreach (var item in objectSearcher.GetInstances()) {
MessageBox.Show(item["DeviceID"].ToString()+" "+item["ProtectionStatus"].ToString());
}
}
但是只有拥有管理员权限的进程才能起作用。
似乎很奇怪,任何普通的Windows用户都可以进入资源管理器,右键单击驱动器,并查找是否已打开BitLocker,但某些程序似乎无法实现此功能。 有没有人知道如何解决这个问题?