C# USB Yazmayı Engelleme
- 408
- (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");
}