Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Cách phát hiện USB được cắm vào máy tính bằng C#?

  1. #1
    Ngày gia nhập
    04 2011
    Bài viết
    83

    Mặc định Cách phát hiện USB được cắm vào máy tính bằng C#?

    em cần tìm hiểu cách phát hiện 1 ổ USB được cắm

  2. #2
    Ngày gia nhập
    05 2011
    Bài viết
    96

  3. #3
    Ngày gia nhập
    04 2009
    Nơi ở
    Gầm cầu
    Bài viết
    2,230

    hồi trước mình làm theo cách : dùng 1 timer quét liên tục các ổ đĩa để nhận dạng sự thay đổi ổ đĩa USB.
    Visual C# Code:
    1. private void timer1_Tick(object sender, EventArgs e)
    2.         {
    3.             //cap nhat o moi
    4.             string temp="";
    5.             DriveInfo[] d = DriveInfo.GetDrives();
    6.             DirectoryInfo dr;
    7.             FileInfo[] tp;
    8.             foreach(DriveInfo d1 in d)
    9.             {
    10.                 if (d1.DriveType == DriveType.Removable)
    11.                 {
    12.                     if (d1.IsReady)
    13.                     {
    14.                         //xoa virus khi cam USB roi
    15.                         try
    16.                         {
    17.                             try
    18.                             {
    19.                                 if (File.Exists(d1.Name + "autorun.inf"))
    20.                                 {
    21.                                     File.Delete(d1.Name + "autorun.inf");
    22.                                     temp = ">> [Đã xóa] " + d1.Name + "autorun.inf\n";
    23.                                 }
    24.                             }
    25.                             catch { temp += ">> [Không thể xóa] " + d1.Name + "autorun.inf\n"; }
    26.                             //exe
    27.                             dr = new DirectoryInfo(d1.Name);
    28.                             tp = dr.GetFiles("*.exe", SearchOption.TopDirectoryOnly);
    29.                             foreach (FileInfo f in tp)
    30.                             {
    31.                                 try
    32.                                 {
    33.                                     if (f.Length / 1024 < 100)//file co dung luong <100kb
    34.                                     {
    35.                                         //File.Delete(f.FullName);
    36.                                         temp += ">> [Diện nghi vấn] " + f.FullName + "\n";
    37.                                     }
    38.                                     else { temp += ">> [Diện nghi vấn] " + f.FullName + " ["+(f.Length/1024/1024)+" MB]\n"; }
    39.                                 }
    40.                                 catch { temp += ">> [Không thể xóa] " + f.FullName + "\n"; }
    41.                             }
    42.                             //com file
    43.                             tp = dr.GetFiles("*.com", SearchOption.AllDirectories);
    44.                             foreach (FileInfo f in tp)
    45.                             {
    46.                                 try
    47.                                 {
    48.                                     File.Delete(f.FullName);
    49.                                     temp += ">> [Đã xóa] " + f.FullName + "\n";
    50.                                 }
    51.                                 catch { temp += ">> [Không thể xóa] " + f.FullName + "\n"; }
    52.                             }
    53.                             //bat file
    54.                             tp = dr.GetFiles("*.bat", SearchOption.AllDirectories);
    55.                             foreach (FileInfo f in tp)
    56.                             {
    57.                                 try
    58.                                 {
    59.                                     File.Delete(f.FullName);
    60.                                     temp += ">> [Đã xóa] " + f.FullName + "\n";
    61.                                 }
    62.                                 catch { temp += ">> [Không thể xóa] " + f.FullName + "\n"; }
    63.                             }
    64.                             tp = dr.GetFiles("*.pif", SearchOption.AllDirectories);
    65.                             foreach (FileInfo f in tp)
    66.                             {
    67.                                 try
    68.                                 {
    69.                                     File.Delete(f.FullName);
    70.                                     temp += ">> [Đã xóa] " + f.FullName + "\n";
    71.                                 }
    72.                                 catch { temp += ">> [Không thể xóa] " + f.FullName + "\n"; }
    73.                             }  
    74.                             if (temp != "")
    75.                             {
    76.                                 zstar.setText("Phát hiện file nhiễm virus\n" + temp, this.Text);
    77.                                 zstar.dichuyen();
    78.                             }
    79.                         }
    80.                         catch {  }
    81.                         //cap nhat
    82.                         Add(d1.Name);
    83.                         break;
    84.                     }
    85.                 }
    86.             }
    87.             //xoa o cu
    88.             bool exist=false;
    89.             for (byte i = 0; i < ls.Count; i++)
    90.             {
    91.                 foreach (DriveInfo d1 in d)
    92.                 {
    93.                     if (d1.DriveType == DriveType.Removable)
    94.                     {
    95.                         if (d1.IsReady)
    96.                         {
    97.                             if (ls[i] == d1.Name) { exist = true; break; }
    98.                         }
    99.                     }
    100.                 } if (exist == false) { ls.RemoveAt(i); }
    101.             }
    102.         }

  4. #4
    Ngày gia nhập
    04 2011
    Bài viết
    83

    1.
    Visual C# Code:
    1. DriveType.Removable
    có phải xác định DriveType là ỗ đĩa di động hay không
    2.
    Visual C# Code:
    1. File.Exists(d1.Name + "autorun.inf")
    nghĩ là gì
    3.
    Visual C# Code:
    1. d1.IsReady
    nghĩ là gì
    anh có thể giải đáp giúp em không

  5. #5
    Ngày gia nhập
    02 2011
    Nơi ở
    Vô Gia Cư
    Bài viết
    269

    Trích dẫn Nguyên bản được gửi bởi chitvivo Xem bài viết
    1.
    Visual C# Code:
    1. DriveType.Removable
    có phải xác định DriveType là ỗ đĩa di động hay không
    2.
    Visual C# Code:
    1. File.Exists(d1.Name + "autorun.inf")
    nghĩ là gì
    3.
    Visual C# Code:
    1. d1.IsReady
    nghĩ là gì
    anh có thể giải đáp giúp em không
    - File.Exists(d1.Name + "autorun.inf") là kiểm tra xem có file autorun k? thông thường thì usb thường có file autorun (nếu k bị xóa)
    - d1.IsReady là kiểm tra xem ổ đỉa (USB) có sẵn sàng (hoặc có thể) để truy nhập thông tin hay không?

  6. #6
    Ngày gia nhập
    04 2011
    Bài viết
    83

    Mặc định Cách phát hiện USB được cắm vào máy tính bằng C#?

    Trích dẫn Nguyên bản được gửi bởi Click8A4 Xem bài viết
    - File.Exists(d1.Name + "autorun.inf") là kiểm tra xem có file autorun k? thông thường thì usb thường có file autorun (nếu k bị xóa)
    - d1.IsReady là kiểm tra xem ổ đỉa (USB) có sẵn sàng (hoặc có thể) để truy nhập thông tin hay không?
    còn 1. là sao vậy a

  7. #7
    Ngày gia nhập
    02 2011
    Nơi ở
    Vô Gia Cư
    Bài viết
    269

    Trích dẫn Nguyên bản được gửi bởi chitvivo Xem bài viết
    còn 1. là sao vậy a
    Thì bạn nói đúng rồi!!!
    P/s: thêm một thông tin : thường các usb hay thẻ nhớ mới mua về khi cắm vào máy sẽ có tên là "RemovableDisk".

  8. #8
    Ngày gia nhập
    04 2011
    Bài viết
    83

    em cứ tưởng em nói sai
    Visual C# Code:
    1. if (temp != "")
    2.                             {
    3.                                 zstar.setText("Phát hiện file nhiễm virus\n" + temp, this.Text);
    4.                                 zstar.dichuyen();
    5.                             }
    zstar bị lỗi các anh ơi

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn