Di Windows, tidak ada cara yang didukung asli untuk memblokir proses tertentu dari mengakses drive tertentu, yang bertentangan "dengan sifat saat ini" bagaimana sistem operasi menangani akses drive.
Hak untuk akses ditentukan oleh hak pengguna yang login yang memulai aplikasi. Jadi jika pengembang perangkat lunak memutuskan perangkat lunaknya harus mencari semua drive yang dapat diakses dan tidak memberikan Anda pilihan untuk mematikannya ... yah, itu pemrograman yang buruk yang tidak mempertimbangkan kasus penggunaan khusus Anda. Tetapi ada beberapa solusi.
Satu-satunya solusi "pasti" adalah 2, karena lapisan virtualisasi perangkat keras (dari mesin virtual) dapat memblokir aplikasi apa pun untuk mencoba mengakses "perangkat keras nyata" sepenuhnya. Meskipun saya belum memiliki kasus di mana solusi 1 tidak bekerja, tetapi secara teoritis saya pikir itu bisa dilewati.
Opsi "1" - Menonaktifkan drive pada "level rendah" - Tidak diperlukan perangkat lunak tambahan
Opsi 1a
Dimungkinkan untuk menonaktifkan volume pada lapisan bawah dengan menonaktifkan drive sama sekali, tetapi ini akan menonaktifkan semua volume pada drive. Secara manual, Anda dapat melakukannya dengan memulai diskmgmt.msc, lalu klik kanan pada drive dan tandai "offline".

Jika perlu, Anda harus dapat melakukannya menggunakan skrip baris perintah juga. Ini akan diterapkan dengan cara yang sama seperti Opsi 3a / b. Anda dapat melakukannya, misalnya, melalui cmd seperti yang dijelaskan di sini atau melalui PowerShell, seperti yang dijelaskan di sini .
Opsi 1b
Anda dapat menonaktifkan driver drive sama sekali. Untuk melakukannya secara manual: mulai diskmgmt.msc, lalu klik kanan, pilih "opsi". Lalu pergi ke "Driver" -Tab dan pilih "Nonaktifkan". Drive akan "menghilang" di disk manager dan tidak akan dapat diakses melalui sistem operasi lagi. Kecuali jika perangkat lunak tidak menjalankan perintah kode mesin untuk berkomunikasi langsung dengan perangkat keras, seharusnya tidak ada cara bagi aplikasi untuk mengakses drive. Setidaknya sejauh pengetahuan saya tentang seluk beluk untuk sistem operasi berjalan.

Jika perlu, Anda harus dapat melakukannya menggunakan skrip baris perintah juga. Ini akan diterapkan dengan cara yang sama seperti Opsi 3a / b menggunakan, misalnya Devcon.exe,. Anda dapat menemukan deskripsi terperinci di sini .
Opsi 2 - Menggunakan lingkungan virtual (kebanyakan dengan perangkat lunak pihak ketiga)
Jika menjalankan aplikasi dalam lingkungan virtual adalah opsi sama sekali, ada banyak solusi di luar sana:
tergantung pada versi Windows Anda (Win7 dan lebih tinggi yang diperlukan) dan lisensi ("Profesional" diperlukan, "Rumah" tidak akan melakukannya), Anda dapat menggunakan Hyper-V untuk mengatur lingkungan virtual tanpa perangkat lunak pihak ketiga.
Anda dapat menggunakan perangkat lunak pihak ketiga untuk mengatur sistem virtual seperti VMplayer, Virtual Box, dll. Ada banyak alternatif freeware dan payware. Dengan menggunakan solusi ini, Anda akan memerlukan lisensi kedua untuk Windows (atau Anda membiarkannya tanpa izin, tetapi kemudian Anda akan mendapatkan overlay di sudut kanan bawah layar yang akan meminta Anda untuk mendaftarkan Windows). Ini pasti akan mencegah perangkat lunak mengakses drive.
Anda bisa menggunakan aplikasi "kotak pasir". Tapi itu akan tergantung pada tingkat virualisasi yang ditawarkan aplikasi-sandbox. Dalam beberapa kasus, ini dapat menyelesaikan masalah; dalam kasus lain, tidak. Sandboxie, misalnya (yang dijelaskan harrymc dalam jawabannya ), tidak menyelesaikan masalah dengan konfigurasi yang dijelaskan harrymc dalam jawabannya (asli). Meskipun perangkat lunak mungkin memblokir akses, drive tetap akan spine. Alternatifnya adalah menggunakan aplikasi kotak pasir yang berbeda seperti Cameyo, dll.
Ngomong-ngomong, inilah artikel yang bagus untuk perbedaan utama antara perangkat lunak virtualisasi yang berbeda, terutama perbedaan antara mesin virtual "keseluruhan" (seperti Virtual Box) atau aplikasi "semi virtual" (seperti Sandboxie).
Opsi 3 - Melepas volume yang adil (membiarkan drive "utuh") - Tidak diperlukan perangkat lunak tambahan, TAPI mungkin tidak berfungsi dalam kasing Anda
Opsi 3a
Alih-alih memulai aplikasi melalui pintasan regulernya, Anda bisa menulis file batch menggunakan perintah mountvolyang pertama meng-unmount volume yang tidak digunakan, kemudian memulai aplikasi, dan kemudian mencatat kembali volume setelah aplikasi tidak lagi mengakses drive. Proses pemasangan / pelepasan melalui baris perintah dijelaskan di sini dan di sini . Anda juga dapat menggunakan diskpartseperti yang dijelaskan di sini dan di sini .
Opsi 3b
Atau, Anda bisa membiarkan drive tidak dilepas secara umum dan memasangnya melalui file batch yang me-mount drive yang Anda mulai secara manual saat diperlukan. Setelah selesai menggunakannya, Anda dapat melepas secara manual menggunakan file batch kedua. Anda dapat mengotomatiskannya dengan memonitor permintaan akses sistem file dan me-mount / unmount drive seperti yang dipersyaratkan mengikuti aturan tertentu misalnya bahwa aplikasi tertentu tidak akan memiliki akses. Tapi saya tidak yakin otomatisasi sepadan dengan usaha ekstra yang terlibat.
Opsi 4 - Membatasi akses ke huruf drive (volume). Mudah dilakukan, tetapi diperlukan dua alat kecil dari Microsoft - TAPI itu mungkin tidak berfungsi dalam kasus Anda
Jika Anda ingin melakukannya tanpa perangkat lunak pihak ketiga tetapi tidak keberatan menggunakan dua alat kecil dari Microsoft (jika Anda belum menggunakannya). Saya lebih suka solusi ini karena mendapat masalah "oleh root" (diferensiasi antara hak pengguna dan aplikasi) dan itu cukup sederhana dan tidak ada perangkat lunak pihak ketiga "besar" diperlukan.
Pada dasarnya, Anda menambahkan pengguna tanpa akses ke drive dan kemudian Anda memulai program dengan hak-hak terbatas itu (Anda akan tetap masuk sebagai pengguna biasa, Anda tidak akan menggunakan akun terbatas untuk masuk).
Tambahkan akun pengguna.
Batasi akses akun pengguna baru ke drive dengan menggunakan Windows Access Control untuk sistem file. Berikut Cara- baik termasuk tangkapan layar.
Kemudian, jalankan perangkat lunak dengan hak-hak itu. Anda dapat, misalnya, menggunakan PsExec.exe untuk melakukan itu atau Process Explorer, begini caranya . Salah satu dari dua itu harus Anda unduh dari situs web Microsoft, jika Anda belum memilikinya.