C# USB를 비활성화하는 두 가지 방법(코드 첨부)

2257 단어 C#
방법 1: 레지스트리 수정을 통해 USB 비활성화
 
원리: 등록표 HKEY 만LOCAL_MACHINE\SYSTEM\CurrentControlSet\서비스\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;
    }
}

방법2: 단독 USB 드라이버를 통해 USB 비활성화
 
원리: 만약 USB가 처음으로 어떤 컴퓨터에서 사용된다면 컴퓨터는 자동으로 이 USB의 구동 정보를 설치하고 C:\Windows\inf\usbstor를 수정할 것이다.inf 및 C:\Windows\inf\usbstor.PNF 파일 두 개.만약 우리가 C# 프로그램으로 그들을 독점적인 형식으로 열면, Windows는 이 두 파일을 수정할 수 없고, USB 드라이브를 설치하지 않으면 자연히 사용할 수 없다.
장점: 간단하고 실행하기 쉬워 간파하기 어렵다.
단점: 이 컴퓨터에서 사용하지 않은 USB만 비활성화할 수 있습니다.
건의: 독점할 때 파일을 열 때 클래스의 구성원 변수(즉 모듈급 변수)를 사용해야 하며 국부 변수를 사용하면 자동으로 위탁 관리 프로그램에 의해 방출되어 독점 효과에 도달하지 못합니다.
 
프로그램 코드:
주: 아래 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);

좋은 웹페이지 즐겨찾기