Windows'da, belirli işlemlerin belirli sürücülere erişmesini engellemenin yerel olarak desteklenen bir yolu yoktur; bu, işletim sisteminin sürücü erişimini nasıl işlediğini "geçerli doğaya aykırı" yapar.
Erişim hakkı, uygulamayı başlatan oturum açmış kullanıcı hakları tarafından belirlenir. Yani yazılım geliştiricisi, yazılımının tüm erişilebilir sürücüleri araması gerektiğine karar verdiyse ve size bunu kapatma seçeneği sunmuyorsa ... bu, özel kullanım durumunuzu dikkate almayan kötü programlamadır. Ancak birkaç geçici çözüm var.
Donanım sanallaştırma katmanı (sanal makineden) "gerçek donanıma" tamamen erişmeye çalışmak için herhangi bir uygulamayı engelleyebileceğinden tek "emin" çözüm 2'dir. Çözüm 1'in işe yaramadığı durumda olmamakla birlikte, teorik olarak bunun atlanabileceğini düşünüyorum.
Seçenek "1" - Sürücülerin "düşük seviyede" devre dışı bırakılması - Ek yazılıma gerek yoktur
Seçenek 1a
Sürücüleri tamamen devre dışı bırakarak alt katmandaki birimleri devre dışı bırakmak mümkündür, ancak bu sürücüdeki tüm birimleri devre dışı bırakır. Manuel olarak, başlatabilir diskmgmt.msc, ardından sürücüye sağ tıklayıp "çevrimdışı" olarak işaretleyebilirsiniz.

Gerekirse, bunu bir komut satırı komut dosyası kullanarak da yapabilmeniz gerekir. Seçenek 3a / b'ye benzer şekilde uygulanır. Açıklandığı gibi cmd yoluyla, örneğin, bunu yapabilir burada ya PowerShell aracılığıyla da tarif edildiği gibi, burada .
Seçenek 1b
Sürücünün sürücüsünü tamamen devre dışı bırakabilirsiniz. Manuel olarak yapmak için: Başlat diskmgmt.msc, sonra sağ tıklayın, "seçenekler" i seçin. Sonra "Sürücü" sekmesine gidin ve "Devre Dışı Bırak" ı seçin. Sürücü, disk yöneticisinde "kaybolacak" ve işletim sistemine artık erişilemeyecek. Yazılım, donanımla doğrudan iletişim kurmak için makine kodu komutları yürütmedikçe, uygulamanın sürücülere erişmesinin bir yolu olmamalıdır. En azından işletim sistemleri için giriş ve çıkış bilgim kadar.

Gerekirse, bunu bir komut satırı komut dosyası kullanarak da yapabilmeniz gerekir. Örneğin, Seçenek 3a / b ile benzer şekilde uygulanır Devcon.exe. Burada ayrıntılı bir açıklama bulabilirsiniz .
Seçenek 2 - Sanal ortam kullanma (çoğunlukla 3. taraf yazılımlarla)
Uygulamayı sanal bir ortamda çalıştırmak bir seçenekse, orada birçok çözüm var:
Windows sürümünüze (Win7 ve üstü gerekir) ve lisansınıza ("Profesyonel" gerekir, "Ev" işe yaramaz) bağlı olarak, herhangi bir üçüncü taraf yazılımı olmadan sanal bir ortam kurmak için Hyper-V'yi kullanabilirsiniz.
VMplayer, Virtual Box, vb. gibi sanal bir sistem kurmak için üçüncü taraf bir yazılım kullanabilirsiniz. Bu çözümü kullanarak, Windows için ikinci bir lisansa ihtiyacınız olacak (veya lisanssız bırakacaksınız, ancak ekranın sağ alt köşesinde Windows'u kaydetmenizi söyleyecek bir kaplama alacaksınız). Bu kesinlikle yazılımın sürücüye erişmesini önleyecektir.
"sanal alan" uygulamasını kullanabilirsiniz. Ancak, sanal alan uygulamasının sunduğu virualizasyon düzeyine bağlı olacaktır. Bazı durumlarda sorunu çözebilir; diğer durumlarda değil. Sandboxie, örneğin (harrymc cevabında açıklandığı gibi ), problemini (orijinal) cevabında tarif edilen konfigürasyon harrymc ile çözmez. Yazılım erişimi engelleyebilse de, sürücü yine de dönecektir. Alternatif olarak Cameyo vb. Gibi farklı bir sanal alan uygulaması kullanmak olabilir.
Bu arada, farklı sanallaştırma yazılımı arasındaki temel fark, özellikle de "bütün" sanal makine (Sanal Kutu gibi) veya "yarı sanal" uygulamalar (Sandboxie gibi) arasındaki fark için iyi bir makale .
Seçenek 3 - Sadece birimleri ayırmak (sürücüyü "bozulmadan" bırakmak) - Ek yazılıma gerek yoktur, ancak durumunuzda çalışmayabilir
Seçenek 3a
Uygulamayı normal kısayoluyla başlatmak yerine, mountvolönce kullanılmayan birimin bağlantısını kesen, ardından uygulamayı başlatan ve uygulama artık sürücüye erişmediğinde birimi yeniden yükleyen komutu kullanarak bir toplu iş dosyası yazabilirsiniz . Komut satırı üzerinden montaj / sökme işlemi burada ve burada açıklanmaktadır . Burada ve buradadiskpart açıklanan şekilde de kullanabilirsiniz .
Seçenek 3b
Alternatif olarak, sürücüyü genel olarak takılı bırakmadan bırakabilir ve gerektiğinde manuel olarak başlattığınız sürücüyü bağlayan bir toplu iş dosyasıyla bağlayabilirsiniz. Kullanmayı bitirdikten sonra, ikinci bir toplu iş dosyasını kullanarak el ile bağlantısını kaldırabilirsiniz. Dosya sistemi erişim isteklerini izleyerek ve belirli kurallara uyarak sürücüyü bağlayarak / bağlantısını keserek, örneğin belirli uygulamaların erişemeyeceğini otomatikleştirebilirsiniz. Ama otomasyonun ekstra çabaya değdiğinden emin değilim.
Seçenek 4 - Bir sürücü harfine (birim) erişimi kısıtlama. Yapması kolay, ancak Microsoft'tan iki küçük araca ihtiyaç duyuldu - AMA durumunuzda çalışmayabilir
3. taraf yazılımı olmadan yapmak istiyorsanız, ancak Microsoft'tan iki küçük araç kullanmayı düşünmeyin (zaten kullanmıyorsanız). Bu çözümü tercih ediyorum çünkü sorunu "kökten" alıyor (kullanıcının ve uygulamanın hakları arasındaki fark) ve oldukça basit ve "büyük" üçüncü taraf yazılımlara gerek yok.
Temel olarak, sürücüye erişimi olmayan bir kullanıcı eklersiniz ve ardından programı bu sınırlı haklarla başlatırsınız (normal kullanıcı olarak oturum açmaya devam edersiniz, oturum açmak için kısıtlı hesabı kullanmazsınız).
Bir kullanıcı hesabı ekleyin.
Dosya sistemi için Windows Erişim Denetimi'ni kullanarak yeni kullanıcı hesabının sürücüye erişimini kısıtlayın. İşte ekran görüntülerini içeren iyi bir Nasıl Yapılır .
Ardından, yazılımı bu haklarla başlatın. Sen, örneğin, o ya da Process Explorer yapmak PsExec.exe kullanabilirsiniz burada nasıl . Zaten sahip değilseniz, bu ikisinden biri Microsoft web sitesinden indirmeniz gerekecektir.