C#禁用USB的兩種方法(附代碼)

來源:互聯網
上載者:User

方法一:通過修改註冊表禁用USB

 

     
原理:
只要把註冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\USBSTOR路徑下的Start值改成4即可禁用USB(預設為3,即允許USB)。

     
優點:
簡單易行。

     
缺點:
地球人都知道,很容易識破。

     
建議:
用一個timer或者建立一個線程,來鎖定這個值。

 

     
程式碼:

using Microsoft.Win32;/// <summary>/// 通過註冊表啟用USB/// </summary>/// <returns></returns>public bool RegToRunUSB() {    try    {        RegistryKey regKey = Registry.LocalMachine; //讀取註冊列表HKEY_LOCAL_MACHINE        string keyPath = @"SYSTEM\CurrentControlSet\Services\USBSTOR"; //USB 大型存放區驅動程式        RegistryKey openKey = regKey.OpenSubKey(keyPath, true);        openKey.SetValue("Start", 3); //設定索引值對(3)為開啟USB(4)為關閉        openKey.Close(); //關閉註冊列表讀寫流        return true;    }    catch (Exception ex)     {        throw ex;    }}/// <summary>/// 通過註冊表禁用USB/// </summary>/// <returns></returns>public bool RegToStopUSB() {    try    {        RegistryKey regKey = Registry.LocalMachine;        string keyPath = @"SYSTEM\CurrentControlSet\Services\USBSTOR";        RegistryKey openKey = regKey.OpenSubKey(keyPath, true);        openKey.SetValue("Start", 4);        openKey.Close();        return true;    }    catch (Exception ex)    {        throw ex;    }}

方法二:通過獨佔USB驅動檔案禁用USB

 

     
原理:
如果隨身碟第一次在某個電腦上使用,電腦會自動安裝該隨身碟的驅動資訊,修改C:\Windows\inf\usbstor.inf和C:\Windows\inf\usbstor.PNF這兩個檔案。假如我們用C#程式以獨佔的形式開啟他們,那麼Windows便無法修改這兩個檔案,隨身碟驅動安裝不上自然無法使用。

     
優點:
簡單易行,不容易識破。

     
缺點:
只能禁用未在該電腦上使用過的隨身碟。

     
建議:
一定要注意獨佔的時候檔案開啟對象要用類的成員變數(也就是模組層級變數),如果用局部變數,會自動被託管程式釋放,達不到獨佔的效果。

 

     
程式碼:

     
註:
以下fs和fs1物件變數我是放在了表單中,作為表單類的成員變數。

using System.IO;public FileStream fs = null;public FileStream fs1 = null;//以獨佔方式開啟檔案fs = new FileStream("C:\\Windows\\inf\\usbstor.inf", FileMode.Open, FileAccess.Read, FileShare.None);fs1 = new FileStream("C:\\Windows\\inf\\usbstor.PNF", FileMode.Open, FileAccess.Read, FileShare.None);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.