C# USB Yazmayı Engelleme

  • 394
  • (1)
  • (5)
  • 08 Oca 2019

Çalıştırdığınız Windows uygulamasının çalıştığı bilgisayar üzerine takılabilecek USB cihazlarını yazmasını engellemek veya izin vermek isteyebilirsiniz. Bu işlem için kayıt defterindeki bazı kayıtları yönetecek kodlar gerekiyor.

Aşağıdaki kodların derlenebilmesi için Microsoft.Win32 kütüphanesini kullanmalısınız. En üst kısma using Microsoft.Win32; yazarak dahil edin.

USB Yazmayı Engelleme


//Belirlenen yolu anahtar olarak değişkene atar
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"System\CurrentControlSet\Control\StorageDevicePolicies");
//Anahtar kayıt defterinde yoksa null gelecektir
if (key == null)
{
    //Anahtarı oluşturur
    key = Registry.LocalMachine.CreateSubKey(@"System\CurrentControlSet\Control\StorageDevicePolicies");
    //Anahtarın ismi WriteProtect değeri 1 türü ise RegistryValueKind.DWord olmalıdır
    key.SetValue("WriteProtect", 1, RegistryValueKind.DWord);
}

Bu kodu bir metot olarak yazabilir ya da istediğiniz herhangi bir yerde kullanabilirsiniz.

USB Yazmaya İzin Verme

USB yazmayı engelledikten sonra tekrar izin vermek isteyebilirsiniz. Örneğin program açılırken engellendi ve kapatılmadan hemen önce tekrar izin vermek istiyorsunuz. System\CurrentControlSet\Control\StorageDevicePolicies yolundaki kaydı silmeniz yeterlidir.


//Belirlenen yolu anahtar olarak değişkene atar
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"System\CurrentControlSet\Control\StorageDevicePolicies");
//Anahtar mevcutsa null gelmeyecektir
if (key != null)
{
    //Anahtarı siler
    Registry.LocalMachine.DeleteSubKey(@"System\CurrentControlSet\Control\StorageDevicePolicies");
}

Paylaşın
Etiket Bulutu